我有两个游标c11和c2。我有两个表compare1和compare2.Both具有相同的列但值不同。我想将c1的结果传递给c2游标。我正在从user_tab_columns获取表的列名。我想传递列名以获取比较1和比较2表之间唯一记录的差异。但是来自c1的列名不会传递给c2.Please找到我尝试过的代码。从一个游标传递列名以选择另一个游标的语句
DECLARE
COL VARCHAR2 (200);
OUTRECORD VARCHAR2 (200);
CURSOR c1 IS
SELECT COLUMN_NAME
FROM all_tab_columns
WHERE table_name = 'COMPARE1';
CURSOR c2(col varchar(200)) IS--col is the column names from c1
(SELECT DISTINCT COL
FROM COMPARE1
MINUS
SELECT DISTINCT COL
FROM COMPARE2);
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO COL;
DBMS_OUTPUT.put_line (COL);
OPEN c2(col);--col Is not passing to 2nd cursor
LOOP
FETCH c2 INTO OUTRECORD;--outrecord is empty is col is not passed to 2nd cursor
INSERT INTO RESULT
VALUES ('B001',
'COMPARE',
'2018',
COL,
OUTRECORD,--empy value
'NOT PRESENT IN 2017');
COMMIT;
END LOOP;
CLOSE c2;
END LOOP;
CLOSE c1;
END;
帮助我将值传递给c1.Thanks提前
哪个RDBMS是为了这个?无论您使用的是MySQL,PostgreSQL,Oracle,SQL Server还是IBM DB2,或者甚至是其他软件,它都会产生影响。请为您的问题添加相关标签! –
我们正在使用Oracle – mano