【发布时间】:2018-03-17 17:21:42
【问题描述】:
是否可以在数据库中的所有表中搜索列中的某个值?我的数据库中有 30 个表。并非所有人都在使用 FK employee_no。在所有包含employee_no 列的表中,并非所有表都会为每个员工输入一条记录。
我想获取一个包含employee_no 列值为6172817 的所有表的列表。
我知道
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME like '%employee_no'
将返回列名为employee_no 的所有表,但现在我想要employee_No 值为6172817 的所有表
我试过了
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE employee_no like '%6172817'
这可能吗?
【问题讨论】:
-
@headmax 。 . .那不是答案。为此,您需要使用动态 SQL,本质上是遍历所有表。
-
@Gordon Linoff 有多种情况 TABLE_NAME,COLUMN_NAME 不是动态的?
-
@headmax Information_Schema 只会给出以employee_no 作为列的表的名称。您需要遍历所有这些表以检查有问题的特定employee_no。
-
@Harshil 好的,感谢澄清,我没看到 ;)。