用下面的代码declare @result char(255) select @result='' exec(' declare cuTemp cursor for Select YBKFZ From hzxcjj2zd_WZFZSET F,hzxcjj2zd_LDFZB L Where F.LX=L.LDLX And L.LDDH=30032'); open cuTemp; fetch cuTemp into @result; close cuTemp DEALLOCATE cuTemp print @result
用select @result=0 没关系的,不会影响
我以前碰到这样问题是用游标解决的 用下面不出错,但得不到结果了,你体会一下吧declare @result char(255) select @result=0 exec ('declare @result char(255);Select @result=YBKFZ From hzxcjj2zd_WZFZSET F,hzxcjj2zd_LDFZB L Where F.LX=L.LDLX And L.LDDH=30032') print @result
用sp_executesql declare @result char(255) select @result=0 declare @sql nvarchar(1000) set @sql='Select @res=YBKFZ From hzxcjj2zd_WZFZSET F,hzxcjj2zd_LDFZB L Where F.LX=L.LDLX And L.LDDH=30032'exec sp_executesql @sql,N'@res char(255) output',@result output print @result
select @result=''
exec(' declare cuTemp cursor for Select YBKFZ From hzxcjj2zd_WZFZSET F,hzxcjj2zd_LDFZB L Where F.LX=L.LDLX And L.LDDH=30032');
open cuTemp;
fetch cuTemp into @result;
close cuTemp
DEALLOCATE cuTemp
print @result
用下面不出错,但得不到结果了,你体会一下吧declare @result char(255)
select @result=0
exec ('declare @result char(255);Select @result=YBKFZ From hzxcjj2zd_WZFZSET F,hzxcjj2zd_LDFZB L Where F.LX=L.LDLX And L.LDDH=30032')
print @result
declare @result char(255)
select @result=0
declare @sql nvarchar(1000)
set @sql='Select @res=YBKFZ From hzxcjj2zd_WZFZSET F,hzxcjj2zd_LDFZB L Where F.LX=L.LDLX And L.LDDH=30032'exec sp_executesql @sql,N'@res char(255) output',@result output
print @result