declare @coltype char(60)
declare @cname char(60)
declare col_crsr cursor for SELECT cname,coltype from sys.syscolumns
where tname = 'abmc_customer_user'
for update of cname
set cursor rows 4 for col_crsr
open col_crsr
fetch col_crsr
close col_crsr
deallocate cursor col_crsr
在此,执行fetch后,它应显示行但显示执行时间:0.0031sec。 有什么问题?
答案 0 :(得分:0)
在SQL的大多数方言中,你都有一个围绕FETCH的循环来获取多行,你还要指定数据的去向(它将被提取到哪个变量),你会必须采取一些措施才能显示数据。
答案 1 :(得分:0)
您可以像这样尝试循环游标并将值提取到变量中然后选择变量......
声明@coltype char(60)
声明@cname char(60)
为syscyscolumns声明SELECT cname,coltype的col_crsr游标 其中tname ='abmc_customer_user' 更新cname
为col_crsr设置游标行4
打开col_crsr WITH HOLD
获取col_crsr INTO @ coltype,@ cname
WHILE(@@ sqlstatus = 0)
BEGIN
SELECT @ coltype,@ cname
FETCH NEXT col_crsr INTO @ coltype,@ cname
END
关闭col_crsr
取消分配游标col_crsr