oracle存储过程中定义游标

我想在begin之后定义游标,一直会报错,把定义放在begin之前就没事。该如何在begin之后定义啊?createorreplaceprocedureSP_TESTas... 我想在begin之后定义游标,一直会报错,把定义放在begin之前就没事。该如何在begin之后定义啊?
create or replace procedure SP_TEST as
title1_value varchar2(30);
number1_value integer:=0;
begin
declare c_1 cursor for SELECT city_name,COUNT(city_name) FROM view_alarm_KZ1 GROUP BY city_name;
open c_1;
LOOP
FETCH c_1 INTO title1_value,number1_value;
EXIT WHEN c_1%NOTFOUND;
INSERT INTO TFA_ALARM_COUNTER_KZ(TITLE1,Collection_Time,Kz1) VALUES(title1_value,sysdate,number1_value);
END LOOP;
CLOSE c_1;
COMMIT;
end;
我是想动态定义游标
展开
 我来答
茗茶堂
2009-03-12 · TA获得超过682个赞
知道小有建树答主
回答量:346
采纳率:100%
帮助的人:0
展开全部
你为什么要放到begin之后呢?正确写法应该是:

create or replace procedure SP_TEST as
title1_value varchar2(30);
number1_value integer:=0;
CURSOR c_1 IS SELECT city_name,COUNT(city_name) FROM view_alarm_KZ1 GROUP BY city_name;
begin
open c_1;
LOOP
FETCH c_1 INTO title1_value,number1_value;
EXIT WHEN c_1%NOTFOUND;
INSERT INTO TFA_ALARM_COUNTER_KZ(TITLE1,Collection_Time,Kz1) VALUES(title1_value,sysdate,number1_value);
END LOOP;
CLOSE c_1;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
end;
dyxg041
2009-03-12 · TA获得超过1035个赞
知道小有建树答主
回答量:1067
采纳率:0%
帮助的人:966万
展开全部
放到begin里面不要declare,在过程和函数里面申明变量貌似不要declare,否则会报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gengxinqing
2009-03-12 · TA获得超过457个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:0
展开全部
游标的声明要放在DECLARE中的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式