34,587
社区成员
发帖
与我相关
我的任务
分享
declare @表名称 varchar(20) ,@表字段 varchar(20)
select @表名称 = tbname,@表字段 = field from mytb where nid=5
--定义标识变量 和 sql 字符串变量
DECLARE @flag bit,@sql nvarchar(max)
set @flag = 0
set @sql = '
if exists(select * from '+@表名称+' where '+@表字段+'=25)
begin
set @flag = 1
end
'
--执行动态 SQL
EXEC sp_executesql @sql,N'@flag bit out',@flag out
if @flag = 1
begin
-- 这里是一段代码,不写了
end
如果内部要执行的代码很简单也可以直接:
declare @表名称 varchar(20) ,@表字段 varchar(20)
select @表名称 = tbname,@表字段 = field from mytb where nid=5
--定义标识变量 和 sql 字符串变量
DECLARE @flag bit,@sql nvarchar(max)
set @flag = 0
set @sql = '
if exists(select * from '+@表名称+' where '+@表字段+'=25)
begin
-- 这里是一段代码,不写了
end
'
--执行动态 SQL
EXEC (@sql)