首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle的蟾蜍:过程、包、作业和DBMS_SCHEDULER

Oracle的蟾蜍:过程、包、作业和DBMS_SCHEDULER
EN

Database Administration用户
提问于 2019-10-21 20:25:12
回答 1查看 374关注 0票数 0

如果我有约10个包含子查询的查询,那麽将它们全部包含在一个过程中是否最佳做法呢?此脚本创建报表所需数据的一小部分。

代码语言:javascript
复制
DROP TABLE TEST1;
CREATE TABLE TEST1 AS (
SELECT 
C.DATE,
C.ITEM,   
(SELECT name FROM name_codes WHERE code = C.DEPARTMENT) AS DEPARTMENT,
C.BUSINESS
FROM LOGS C));

这只是其中的一小部分,但代码或多或少会创建表、筛选字段,并将输出组合到所需的结果。我也希望为其他脚本自动输入数据。每个脚本计算一个KPI,并将是它自己的过程。然后,所有这些程序将被包装成一个包。

该包将通过DBMS_SCHEDULER作为作业进行调度。这听起来像正确的行动方针吗?如果是这样,我是否可以调用现有脚本来创建过程,或者是否需要将PLSQL粘贴到过程脚本中?目前,我只想将第一个脚本作为一个过程进行测试,该过程通过DBMS_SCHEDULER作为作业调度。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-10-21 22:09:38

如果是这样,我是否可以调用现有脚本来创建过程,或者是否需要将PLSQL粘贴到过程脚本中?

这两种方法都有效。

数据库管理系统_SCHEDULER.CREATE_工作

作业的类型(job_type)也可以是PLSQL_BLOCKSTORED_PROCEDURE

对于PLSQL_BLOCK,您可以指定一个匿名块,这是PL/SQL代码的一部分,比如begin ... end;

对于STORED_PROCEDURE,可以指定要调用的存储过程的名称。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/251628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档