如果我有约10个包含子查询的查询,那麽将它们全部包含在一个过程中是否最佳做法呢?此脚本创建报表所需数据的一小部分。
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作为作业调度。
发布于 2019-10-21 22:09:38
如果是这样,我是否可以调用现有脚本来创建过程,或者是否需要将PLSQL粘贴到过程脚本中?
这两种方法都有效。
作业的类型(job_type)也可以是PLSQL_BLOCK或STORED_PROCEDURE。
对于PLSQL_BLOCK,您可以指定一个匿名块,这是PL/SQL代码的一部分,比如begin ... end;。
对于STORED_PROCEDURE,可以指定要调用的存储过程的名称。
https://dba.stackexchange.com/questions/251628
复制相似问题