原因:在SqlServer数据库中,若定义的存储过程中包含有insert/update等更新操作时,在设计器中对存储过程进行调用时,会提示没有返回数据集的错误。
解决方法:修改存储过程,在begin 后面添加 SET NOCOUNT ON。
不管多复杂的sql存储过程 只需要在第一个大的begin后面添加 如下:
set @sql='7731E86A-6613-470D-3726-08D84A19C12D,EE4E6F43-2763-4F9D-35E9-08D84A19C12D,9DFD9E61-A807-4975-3688-08D84A19C12D'; set @sql2='A6D3385B-'; declare @s varchar(4000); declare @s2 varchar(4000); set @sql=@sql+','; while charindex(',',@sql)>0 begin SET NOCOUNT ON select @s=substring(@sql,1,charindex(',',@sql)-1) select @sql=substring(@sql,charindex(',',@sql)+1,len(@sql)) INSERT @TA VALUES(@s); SELECT 1 end