SQL:如何在数据库中的所有视图中搜索 ID 并列出提供结果的视图和列名称? [复制]
Posted
技术标签:
【中文标题】SQL:如何在数据库中的所有视图中搜索 ID 并列出提供结果的视图和列名称? [复制]【英文标题】:SQL: How can I search an ID across all the views in a database and list the view and column name that provided a result? [duplicate] 【发布时间】:2018-10-11 11:06:01 【问题描述】:我可以访问在 SQL 数据库上构建的一组视图。我想要做的是搜索一个术语,例如所有视图中所有列的“Florida”,并生成一个表格,其中包含所附图像的列:
【问题讨论】:
你已经尝试过什么?我建议查看像游标这样的东西来遍历您想要检查的所有视图,然后使用一些动态 SQL 来查询每个视图并产生您想要的结果。 【参考方案1】:用它来为你生成一堆 SQL 语句:
SELECT REPLACE(REPLACE(REPLACE(REPLACE(
'SELECT "s" as [SchemaName], "v" as [View Name], "c" as [Column Name] FROM [v] v WHERE v.[c] LIKE "Florida%";'
, 's', c.TABLE_SCHEMA)
, 'v', c.TABLE_NAME)
, 'c', c.COLUMN_NAME)
, '"', '''')
FROM information_schema.columns c INNER JOIN sys.views v ON v.name = c.TABLE_NAME
然后将它们从结果网格中复制出来,并在查询窗格中运行它们
【讨论】:
您好 Caius,我尝试了您的代码,但效果不佳。它给了我以下错误:“'SELECT "s" as [SchemaName], "v" as [View Name], "c" as [Collumn Name] FROM [v] 附近的语法不正确v WHERE v.[c] LIKE "Florida%";'." sql中缺少括号,试试修改后的版本以上是关于SQL:如何在数据库中的所有视图中搜索 ID 并列出提供结果的视图和列名称? [复制]的主要内容,如果未能解决你的问题,请参考以下文章