SQL:你可以搜索表的输出吗?

时间:2017-10-09 14:54:56

标签: sql sql-server

我正在使用查询向我提供具有特定列名称的所有表格' 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; ; ;

1 个答案:

答案 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的更多信息。