下面你可以看到我有表' sql_script',它有两列' ID'和'脚本'。这些列有三行数据。数据在列'脚本'又是SQL
次查询。我的问题是,我无法根据同一查询中SQL
的选择将这些ID
个查询带入新查询。
Select * from sql_script
结果:
ID Script
1 Select * from test1
2 Select * from test2
3 Select * from test3
有什么建议吗?
答案 0 :(得分:1)
在您的数据库中存储这样的查询不是一个好方法。为了做这样的事情,你需要使用动态sql。你想简单地连续执行每个查询吗?
你可以这样做:
declare @SQL nvarchar(max) = ''
select @SQL = @SQL + Script + ';'
from sql_script
order by ID
select @SQL
--exec sp_executesql @SQL
当您满意时,只需取消注释exec行。
答案 1 :(得分:0)
也许你可以把它包装在execute_sql
中 execute_sql(SELECT Script FROM sql_script WHERE Id=1)
答案 2 :(得分:0)
declare @query nvarchar(max)
select top 1 @query = script
from tbl
exec(@query)