Management Studio不显示游标的结果

问题描述

| 好的,这可能很简单,但是我找不到解决方案。 我开始在T-sql中使用游标,并且正在使用它们。 但是,如果我通过Execute-Button在Management Studio中执行结果,则不会得到结果。我得到的只是“命令成功执行”。 如果我调试它,我将得到结果,下次单击执行时,我还将得到结果... 有某种缓存吗?还是我做错了? 脚本如下所示:
    declare @po varchar(20),@prod varchar(50),@qty integer,@type varchar(20)

    declare db_cursor cursor for
    select product,po,qty,space(1) as btype from header
    for read only

    open db_cursor

    while @@FETCH_STATUS=0
    begin
      fetch db_cursor into @po,@prod,@qty,@type
      if @qty<1000
    set @type = \'small\'
    else 
    set @type = \'large\'
       print @type
    end

close db_cursor
deallocate db_cursor
PS:自然,我在印刷前用过select,同样的问题。     

解决方法

        啊,我明白你的意思。第一次运行以下脚本时,它会产生结果。在随后的情况下,没有任何反应(除非您在新的SSMS窗口中尝试)。
    declare @po varchar(20),@prod varchar(50),@qty integer,@type varchar(20)

    declare db_cursor cursor for
    select name,name,number,space(1) as btype from master..spt_values
    for read only

    open db_cursor

    while @@FETCH_STATUS=0
    begin
    print \'y\'
      fetch db_cursor into @po,@prod,@qty,@type
      if @qty<1000
    set @type = \'small\'
    else 
    set @type = \'large\'
       print @type
    end

close db_cursor
deallocate db_cursor
问题是您如何检查“ 2”值。它以新连接的
0
开始,但是您的脚本将其留在
-1
。 您需要在循环之前的第一行“ 5”。有关正常模式,请参见此博客文章。     ,        如果可以,请尝试切换标签页: 听起来好像您在“消息”选项卡上 编辑 另外,在进一步查看之后,您是在此之后选择光标数据还是整个脚本?我问是因为看起来好像您只是在设置变量,而不对它们做任何事情(当然,ѭ6除外)。     ,        使用查看结果作为文本选项     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...