我有以下for循环
for i in (
select * from employees)
loop
--code
end loop;
是否可以像这样在变量中分配 select 语句
sql_stat := 'select * from employees';
在循环中
for i in (
sql_stat)
loop
当我尝试上述操作时出现错误 “遇到符号循环”
如果我想在变量中分配 select 语句,正确的做法是什么。
谢谢
最佳答案
您可以使用ref cursors
来获得您想要的结果。这是一个例子。
declare
type t_cursor is ref cursor;
c_cursor t_cursor;
l_sql varchar2(123);
l_var number;
begin
l_sql := 'select count(*) from T1'; -- your query goes here
open c_cursor for l_sql;
loop
fetch c_cursor
into l_var;-- variable(s) of appropriate datatype you want to fetch data into
exit When c_cursor%notfound;
-- any work for processing fetched data goes here
end loop;
end;
关于database - 变量中的选择语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12474982/