因此,我在理解如何使用游标访问不同的列名时遇到了问题,在游标中,对三个不同的表的单个公共列执行了连接操作。
例如
DECLARE
CURSOR joined_table_cur IS
SELECT a.col1, a.col2, b.col5, c.col7 ...
FROM table1 a
JOIN table2 b ON a.col1 = b.col1 JOIN
table3 c on b.col1 = c.col1
;
joined_table_rec joined_table_cur%ROWTYPE;
BEGIN
FOR joined_table_rec IN joined_table_cur
LOOP
-- how to access col7 from table3 ie c in this cursor--
END LOOP;
END;
我不明白怎么做这件事。
2条答案
按热度按时间nmpmafwu1#
要在示例中循环遍历游标行,只需在下面的代码中使用第二种类型的循环,并使用已声明的变量joined_table_rec引用列-对于col 1,它是joined_table_rec.col1,对于col 2,它是joined_table_rec.col2......依此类推。
如果你想使用FOR LOOP,那么你不需要声明joined_table_rec变量,因为for循环会自己创建变量-只需要在下面的代码中给予名称-rec 2。下面是两种循环游标的方法的示例:
更多关于它here。
luaexgnf2#
这不是答案。d r已经回答了您的问题,并解释了如何访问您的游标的两个选项。
我只想补充一点,你根本不需要显式的游标,我通常是这样做的:
就当这是对dr答案的评论吧,我只是把它作为“答案”贴在这里,因为如果没有换行符,它很难被当作评论来阅读。