在动态ssql中声明一个变量

时间:2020-03-30 16:17:11

标签: sql sql-server-2012

我有以下字符串,并且想用@value替换字符串末尾的> 30,以便我可以将其传递给存储过程。我如何声明@value。我的原始代码使用> 35'代替了有效值,并且工作正常。预先感谢。

 Declare @value  int
 set  @value=30

 exec (' insert into results_stats select'''+
@tab_name+''','''+@col_name+''',max(len('+@col_name+')),'+@col_name+','''+@dat 
a_type+'''  from LIVE.'+@tab_name+' Group By '+@col_name+' Having 
max(len('+@col_name+'))'''+@value+'')

1 个答案:

答案 0 :(得分:0)

您想要sp_executesql()

通读链接中的文档;它涵盖了如何详细执行此操作。

要注意的另一件事是,您可能需要将>中的>35运算符包括在字符串文字中。