create table TEMP_210402
(
用户名 VARCHAR2(30),
过程名 VARCHAR2(30),
表名 VARCHAR2(4000),
line NUMBER,
text VARCHAR2(4000),
任务名称 VARCHAR2(300),
采集任务名 VARCHAR2(300),
采集文件名 VARCHAR2(300),
采集脚本 VARCHAR2(4000),
表备注 VARCHAR2(300)
);
通过四层循环将查询的数据用来更新目标表减少手工任务量
CREATE OR REPLACE PROCEDURE P_LOOP_TEMP AS
V_PRO_NAME VARCHAR2(500);
V_PRO_NAME_2 VARCHAR2(500);
CURSOR CUR IS
SELECT DISTINCT a.过程名 FROM TEMP_210402 a WHERE a.任务名称 IS NULL;
BEGIN
OPEN CUR;
LOOP
FETCH CUR INTO V_PRO_NAME;
INSERT INTO TEMP_2104140302
(SELECT V_PRO_NAME FROM DUAL);COMMIT;
FOR CUR_02 IN (--第二层循环
SELECT DISTINCT A.NAME FROM ALL_SOURCE A WHERE A.OWNER IN ('CITICSUTIL','CITICSCCS') AND A.TEXT LIKE '%'||V_PRO_NAME||'%'
AND A.NAME != V_PRO_NAME) LOOP