oracle,如何通过游标对动态sql的结果集合进行操作?
关注:282 答案:2 手机版
解决时间 2021-01-19 09:21
提问者断念劫难
2021-01-18 21:25
As
cursor temcur is select col1,col2....,coln from t1 when rownum =1; --line 1
tcur temcur%rowtype;
Begin
open rescur for 'select col1,col2,....,coln from t1'; --line 2
loop
fetch rescur into tcur
exist when rescur%notfound;
insert into t2 (name) values (tcur.colx);(x 假设为某列,其实这里有多列要插入到t2)
end loop;
End;
我的问题是:实际我的sql语句特别长,可能有50行,难道我要在line 1和line 2 的地方,都要写这个长语句,有没有其他办法,大家帮忙,谢谢啊。
最佳答案
二级知识专家那年夏天
2021-01-18 21:37
直接写成,不用定义
for temcur in (select col1,col2....,coln from t1 when rownum =1) loop
.........................
.........................
end loop
全部回答
1楼花落浅殇
2021-01-18 23:13
count是一个计数器。in的意思是,如果i不大于count.
type pdct-tap is table of productinfo%rowtype
这是将pdct-tap声明为和productinfo相同的结构.
我要举报
如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
推荐资讯
大家都在看