sql-server - 如何检查数据库中所有表中存在的列名
问题描述
我试图编写一个查询,我可以在其中检查数据库中所有表中是否存在某些列名。为了避免困难,我试图一次访问所有表并检查表中是否存在列。我能够找到下面的代码来获取表名:
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='SAMPLE_DB_NAME'
我无法进入每个表并检查列名。
如果有人可以帮助我查询进入每个表并检查所有表的常量列名。
解决方案
尝试这个
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
推荐阅读
- asp.net-core - 从 ASP.NET Core 项目发布单页
- javascript - 根据 ReactJs 中的请求获取数据
- pandas - 时间计算熊猫
- jqgrid - Jqgrid 内联编辑提交 html 而不是键入的文本
- r - 从 R 降价创建多个报告时出错 - 名称不同但数据相同
- vba - ms word文档文本翻译使用vba代码
- reactjs - 指定不带字段名称的 JSON 值
- javascript - Javascript - DOMMouseScroll 在 Google Chrome 上不起作用
- c++ - 这种方法是否会涉及内存重新分配,从而影响其效率?
- python - 如何让 PyQt5 程序像 pycharm 一样启动