首页 > 解决方案 > 如何检查数据库中所有表中存在的列名

问题描述

我试图编写一个查询,我可以在其中检查数据库中所有表中是否存在某些列名。为了避免困难,我试图一次访问所有表并检查表中是否存在列。我能够找到下面的代码来获取表名:

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='SAMPLE_DB_NAME'  

我无法进入每个表并检查列名。

如果有人可以帮助我查询进入每个表并检查所有表的常量列名。

标签: sql-serverssmssql-server-2016

解决方案


尝试这个

SELECT  TABLE_CATALOG,
        TABLE_NAME,
        COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE  TABLE_CATALOG='SAMPLE_DB_NAME' 
AND CHARINDEX('Status',COLUMN_NAME) = 1 -- Specify the column name to check the column is existed
                                        --- in the datbase of all available tables 

推荐阅读