sql存储过程 如何用IF来判断变量表内数据是否存在

如:declare @A as varchar(max)
select @A='select count(*) from '+ @变量表 + ' where 姓名='+@姓名

exec(@A)--如果显示为1,那表示找到数据,0为没有数据
那如何用IF来进行判断呢?求解!

第1个回答  推荐于2016-05-06
可以定义一个变量接收值

declare @A as varchar(max),@count integer

select @A='select @count = count(*) from '+ @变量表 + ' where 姓名='+@姓名
exec(@A)
if @count > 0
...追问

照你方法,还是不行啊.错误提示:要申明变量 @Count

追答

SQL SERVER中上面方法不行,参考sp_executesql ,类似如下

declare @sql nvarchar(2000)
declare @cou int
declare @id varchar(20)
set @id='1'
set @sql='select @count=count(*) from emp where id=@id'
exec sp_executesql @sql, N'@count int out,@id varchar(20)', @cou out
,@id
print @cou

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网