首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle在via按钮上运行2个sql脚本

Oracle在via按钮上运行2个sql脚本
EN

Stack Overflow用户
提问于 2015-01-13 13:19:32
回答 1查看 918关注 0票数 0

我有用户在一天结束时输入工作人员,我必须运行两个脚本。

它为每个成员设置了两年的所有基本主数据和详细数据。

脚本1.生成主数据

代码语言:javascript
复制
MERGE INTO MD_TS_MAST d
USING (SELECT e.ENG_ID,
            a.DT 
       FROM MAN_ENGINEERS e
       CROSS JOIN ALL_DATES a) s 
ON (d.ENG_ID = s.ENG_ID AND
    d.MS_DATE = s.DT) 
WHEN NOT MATCHED THEN 
INSERT (ENG_ID, 
        MS_DATE) 
VALUES (s.ENG_ID, 
        s.DT); 

脚本2.生成详细数据

代码语言:javascript
复制
INSERT INTO MD_TS_DETAIL 
        (MD_ID) 
SELECT MAST_ID 
FROM   MD_TS_MAST 
WHERE  MAST_ID NOT IN (SELECT MD_ID 
                   FROM   MD_TS_DETAIL 
                   WHERE  MD_ID IS NOT NULL); 

问题是,我如何创建一个按钮,当按下将运行的2个脚本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-13 13:43:06

创建一个PL/SQL页面进程,该过程运行于随源一起提交的文件上:

代码语言:javascript
复制
MERGE INTO MD_TS_MAST d
USING (SELECT e.ENG_ID,
            a.DT 
       FROM MAN_ENGINEERS e
       CROSS JOIN ALL_DATES a) s 
ON (d.ENG_ID = s.ENG_ID AND
    d.MS_DATE = s.DT) 
WHEN NOT MATCHED THEN 
INSERT (ENG_ID, 
        MS_DATE) 
VALUES (s.ENG_ID, 
        s.DT); 

INSERT INTO MD_TS_DETAIL 
        (MD_ID) 
SELECT MAST_ID 
FROM   MD_TS_MAST 
WHERE  MAST_ID NOT IN (SELECT MD_ID 
                   FROM   MD_TS_DETAIL 
                   WHERE  MD_ID IS NOT NULL); 

然后在提交页面的页面上添加一个按钮。

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

https://stackoverflow.com/questions/27923143

复制
相关文章

相似问题

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