【发布时间】:2013-12-06 08:09:21
【问题描述】:
我有两个嵌套游标。我的意思是一个光标在另一个光标之内。
我想在内部光标中使用外部光标字段。像这样:
Inner_cursor.outer_cursor.outer_cursor_column;
但即使我这样使用它也不起作用:
Inner_cursor.(outer_cursor.outer_cursor_column);
有什么办法可以做到吗?
编辑:
这是我的代码:
CREATE OR REPLACE PROCEDURE TEST1
AS
CURSOR loop_relation IS
SELECT * FROM RELATION_table;
relation_rec loop_relation%rowtype;
CURSOR loop_BIG_TABLE IS
SELECT * FROM BIG_TABLE;
BIG_TABLE_rec loop_BIG_TABLE%rowtype;
BEGIN
FOR RELATION_REC IN LOOP_RELATION
LOOP
FOR BIG_TABLE_rec in loop_BIG_TABLE
LOOP
IF (BIG_TABLE_REC.RELATION_REC.DESTINATION_PK IS NULL) THEN
UPDATE BIG_TABLE
SET BIG_TABLE.RELATION_REC.DESTINATION_PK = (
SELECT RELATION_REC.SOURCE_FK FROM RELATION_REC.SOURCE_TABLE
WHERE RELATION_REC.SOURCE_PK = BIG_TABLE_REC.RELATION_REC.SOURCE_PK)
WHERE BIG_TABLE_REC.ID = BIG_TABLE.ID;
END IF;
END LOOP;
END LOOP;
END TEST1;
/
我的问题在于我使用三个点(。)在内部光标中使用外部光标的值。
【问题讨论】:
-
您可能必须使用动态 SQL 并连接外部游标值。
-
贴出你的代码,你试过什么?