如: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
...追问
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