DB2 游标操作成功完成 但无结果显示
发布网友
发布时间:2022-04-13 21:19
我来回答
共3个回答
热心网友
时间:2022-04-13 22:49
存储过程,db2没有输出语句的
可以考虑写一个sql function
create function myfun()
returns char(10)
language sql
reads sql data
begin
declare name char(10);
declare cursor1 cursor for select sales from myv
fetch first 1 rows only for update;
open cursor1;
fetch cursor1 into name;
close cursor1;
return name;
end
然后可以通过调用function来查看是不是返回了
select myFun() from sysibm/sysmmy1
热心网友
时间:2022-04-14 00:07
declare @name char(10)
declare cur cursor
for select sales from myv
open cur
FETCH NEXT FROM cur INTO @name
begin
print @name
fetch next from cur into @name
close cur
end
首先定义一个变量不是 name 应该是@name,看了你上面的代码,你是要更新第一行数据,更新语句应该在 begin ...... end之间写追问谢谢,但还是有错误的
提示说这个print有错误,db2有格式化输出的函数吗?
热心网友
时间:2022-04-14 01:41
你这是修改数据的程序块、修改基本表成功还要给你显示啊? 自己SELECT 看看UPDATE成功没。
而且
open cursor1;
fetch cursor1 into name;
close cursor1;
end
打开游标,提取数据直接赋给name变量,然后关闭游标,然后END了,你有输出name吗?追问本人是初学的,我看实例的程序是这样写的都 有输出。按照您的意思,该怎么改呢
追答试试运行前先单独输入:
SET SERVEROUTPUT ON;
你这个代码是想实现什么功能?自己写的吗?
试下下面这个代码有结果显示没~
begin
declare name char(10); declare cursor1 cursor for select sales from myv;
open cursor1;
fetch cursor1 into name;
close cursor1;
end