Oracle Apex 运行 2 sql 脚本通过按钮按下
Oracle Apex Run 2 sql scripts on via button press
我有用户在一天结束时输入员工,我必须 运行 2 个脚本
设置每个成员 2 年内的所有基本主数据和详细数据。
脚本1.生成主数据
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. 生成详细数据
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 个脚本。
创建一个 PL/SQL 在提交时运行的页面进程,来源:
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);
然后在页面上放一个提交页面的按钮。
我有用户在一天结束时输入员工,我必须 运行 2 个脚本
设置每个成员 2 年内的所有基本主数据和详细数据。
脚本1.生成主数据
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. 生成详细数据
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 个脚本。
创建一个 PL/SQL 在提交时运行的页面进程,来源:
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);
然后在页面上放一个提交页面的按钮。