我已经尝试运行我的SQL(在T-SQL中)(我只是生成了一个变量)但我无法运行它.我想要做的是:1.从程序2运行大SQL.大SQL生成selct-SQL 3.运行生成的sql像正常选择和接收数据一样正常.我认为可以用sp_executesql完成,但看起来它在我的情况下是不对的.
我正在尝试的是这样的:
declare @sql varchar(max)
set @sql = 'select x, y from z'
exec @sql --this is the point where im stuck.
Run Code Online (Sandbox Code Playgroud)
我知道这一定是一个非常基本的问题,但是在谷歌上找不到适合我问题的东西.
谢谢你的帮助!
更新 我通过使用sp_sqlexec解决了我的问题(不再支持,但工作就像我想要的那样).
declare @sql varchar(max)
set @sql = 'select x, y from z'
exec sp_sqlexec @sql
Run Code Online (Sandbox Code Playgroud)
正确的解决方案是sp_executesql!(请参阅sp_sqlexec与sp_executesql)对于我的问题,如果我"重建"我可以使用它的所有东西,那将是非常耗时的.
谢谢你的帮助!