我有两个要比较的游标。如果游标 1 存在于游标 2 的所有行中,我会比较游标 1。我尝试了以下操作,但似乎在第一次匹配时就停止了。
CURSOR cursor1 IS
SELECT col1, col2 FROM table1;
CURSOR cursor2 IS
SELECT col1, col3 FROM table2;
c1_rec cursor1%ROWTYPE;
c2_rec cursor2%ROWTYPE;
BEGIN
OPEN cursor1;
OPEN cursor2;
LOOP
FETCH cursor1 INTO c1_rec;
FETCH cursor2 INTO c2_rec;
EXIT WHEN cursor1%NOTFOUND OR cursor2%NOTFOUND;
IF c1_rec.col1 = c2_rec.col1 OR c1_rec.col2 = c2_rec.col3 THEN
DBMS_OUTPUT.PUT_LINE('Match in row: ' || SQL%ROWCOUNT);
END IF;
END LOOP;
CLOSE cursor1;
CLOSE cursor2;
END;
/