sql存储过程 如何用IF来判断变量表内数据是否存在
如:declare@Aasvarchar(max)select@A='selectcount(*)from'+@变量表+'where姓名='+@姓名exec(@A)--如...
如:declare @A as varchar(max)
select @A='select count(*) from '+ @变量表 + ' where 姓名='+@姓名
exec(@A)--如果显示为1,那表示找到数据,0为没有数据
那如何用IF来进行判断呢?求解! 展开
select @A='select count(*) from '+ @变量表 + ' where 姓名='+@姓名
exec(@A)--如果显示为1,那表示找到数据,0为没有数据
那如何用IF来进行判断呢?求解! 展开
1个回答
展开全部
可以定义一个变量接收值
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询