我已经生成了代码块并将其连接成一个字符串,并存储在临时表中。有什么方法可以运行此代码字符串,而无需将结果复制粘贴到查询中?
我尝试使用set和exec来读取代码,但是它仅返回存储的字符串值,而不运行实际的代码。
在临时表## steg4中,我存储了要运行的代码字符串。我尝试过:
declare @cmd varchar(max)
begin
set @cmd = 'select string from ##steg4'
exec (@cmd)
end
但是,它不将其作为代码读取,而仅作为结果文本字符串读取。有什么方法可以使它读取存储在## steg4中的代码字符串,并根据该代码输出新的结果?
我希望有一种无需手动操作即可读取代码的方法(将粘贴的生成代码复制粘贴到## steg4中)。
答案 0 :(得分:0)
类似这样的东西:
declare @cmd varchar(max);
selecct @cmd = string
from ##steg4;
exec sp_executesql @cmd;
答案 1 :(得分:0)
感谢您的反馈。我仍然无法通过您的建议使它正常工作,而是调整了使用的初始代码并获得了想要的答案:
declare @cmd varchar(max)
begin
set @cmd = (select string from ##steg4)
exec (@cmd)
end
显然,选择语句中没有括号。
诚挚的问候, 亚历山大