可以,调用sp_executesql 执行
例子
execute sp_executesql
N'select * from pubs.dbo.employee where job_lvl = @level',
N'@level tinyint',
@level = 35
例子
execute sp_executesql
N'select * from pubs.dbo.employee where job_lvl = @level',
N'@level tinyint',
@level = 35
declare @test varchar(100)
select @test = 'execute sp_executesql ' + 'N''select @level'',N''@level tinyint'',@level = null'
select @test
exec(@test)
set @s='declare @'+@VariantName+''+@type
exec(@s)
select @test='declare @chvTest varchar(30)'
exec(@test+'
select '+@chvTest
')
declare @变量名 sysname,@变量类型 sysname,@变量处理语句 varchar(1000)select @变量名='@s',@变量类型='varchar(8000)'
,@变量处理语句='set @s=''''
select @s=@s+name from sysobjects'
exec('declare '+@变量名+' '+@变量类型+'
'+@变量处理语句+'
select '+@变量名)