我正在使用查询向我提供具有特定列名称的所有表格' place'。 此后我想在新查询中使用输出来搜索所有提供的表中的字符串。
我用于列出表的查询是:
SELECT c.name AS 'ColumnName'
,t.name AS 'TableName'
FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE '%place%'
ORDER BY TableName
,ColumnName; ; ;
答案 0 :(得分:0)
使用sp_executesql存储过程,可以执行可以多次重用的SQL语句或者动态构建的SQL语句。您可以在新查询中使用输出。
示例:
--Declare variable
DECLARE @SQLQuery NVARCHAR(MAX)
--Build SQL String
SET @SQLQuery = 'SELECT c.name AS ''ColumnName'',t.name AS ''TableName'' FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name LIKE ''%place%''
ORDER BY TableName, ColumnName; ; ;'
--Execute Transact-SQL String
EXECUTE sp_executesql @SQLQuery
我希望你能继续这样做。您可以获得有关sp_executesql here的更多信息。