oracle存储过程中定义游标,请问游标定义语句中能使用变量么?

createorreplaceprocedurechange_new_paymentid(tablenamevarchar2)isv_sqlvarchar2(2000);... create or replace procedure change_new_paymentid
(
tablename varchar2

)

is
v_sql varchar2(2000);
new_paymentid varchar2(100);

CURSOR CUR_prc_ctl_pll_REF(tablename2 varchar2(100) ) is

select idr idr from (
select /*+parallel(a,8)*/ a.payment_id payment_id , max(rowid) idr from tablename2 a
group by a.payment_id having(count(a.payment_id)>1));

ROW_CUR_prc_ctl_pll_REF CUR_prc_ctl_pll_REF%ROWTYPE;

游标定义语句中能使用变量么?为什么不行呢?求解
展开
 我来答
谬寒云虢怜
2019-09-29 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:720万
展开全部
不是这样的,存储过程中不是非要用游标啊,他有输入和输出参数,只要在过程中做相应的处理就会返回输出参数。游标的作用主要是为了循环提取数据,游标分隐性游标和显性游标。
举个例子(显性游标):
cursor
游标名
is
select
语句;
.....
while
游标名%
found
loop
.....
end
loop;
其中的select
语句提取的是一列值,然后每次取一个进行下面的循环。
(隐性游标):
for
游标名
in
(select
语句)loop
.....
.....
end
loop;
其中的select
语句提取的也是一列值,然后每次取一个进行下面的循环。
lucywuxin
2010-07-23
知道答主
回答量:19
采纳率:0%
帮助的人:0
展开全部
游标建立在对应的表上,需要明确是哪张表
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左心溢
2010-07-27
知道答主
回答量:13
采纳率:0%
帮助的人:4.7万
展开全部
汗!这是什么啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式