日期:2014-05-17  浏览次数:20587 次

SQL Server 2005 存储过程 中使用游标 为什么没有结果输出 PRINT 不出ID
------------------------------------
USE [PYWSKH]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[id_trans]--创建存储过程  
AS  
 
 begin  
 --声明一个游标  
  Declare cur Cursor scroll for   
  SELECT ID FROM T_Meeting ;---查询语句
    
   --打开游标  
  Open cur  
  declare @id int-用来处理结果的变量  

  --循环并提取记录  
  Fetch Next From cur Into @id--取下一条记录存入@id 中  
  print @id;---处理结果 

   Close cur  
Deallocate cur  

end  
exec id_trans

------解决方案--------------------
我把你的代码中表改了一下,有的,看来可能是你的表没数据,或者执行的时候报错没捕获到
------解决方案--------------------
我执行了一下,能输出一个值。

你是想把表中的所有数据都输出是吗,可以这么改就可以了哈:


alter procedure [dbo].[id_trans]--创建存储过程  
AS  
 
 begin  
 --声明一个游标  
  Declare cur Cursor scroll for   
  SELECT ID FROM T_Meeting ;---查询语句
    
   --打开游标  
  Open cur  
  declare @id int--用来处理结果的变量  
  
  while @@fetch_status =0
  begin
      --循环并提取记录  
      Fetch Next From cur Into @id--取下一条记录存入@id 中  
      print @id;---处理结果 
  end
  
  Close cur  
  Deallocate cur 
end
go


exec [id_trans]