如何使用表中列中的sql查询

时间:2014-07-08 20:07:00

标签: sql sql-server

下面你可以看到我有表' sql_script',它有两列' ID'和'脚本'。这些列有三行数据。数据在列'脚本'又是SQL次查询。我的问题是,我无法根据同一查询中SQL的选择将这些ID个查询带入新查询。

Select * from sql_script

结果:

ID        Script
1      Select * from test1
2      Select * from test2
3      Select * from test3

有什么建议吗?

3 个答案:

答案 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)