oracle游标 集合,oracle,如何通过游标对动态sql的结果集合进行操作?

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相同的结构.

我要举报

如以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!

推荐资讯

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值