Metadata

如何編寫查詢以查找數據庫中具有特定列名的所有表

  • April 9, 2019

我有一個包含大約 100 個表的數據庫,我需要建構一個連接查詢以從其中兩個表中獲取特定數據。我知道一個,但不知道另一個。基本上我需要類似的東西:

select <tables> from <database> where exists table.column name;

我怎樣才能做到這一點?

使用information_schema

這是符合標準的跨 RDBMS 方法。

SELECT table_catalog, table_schema, table_name, column_name
FROM INFORMATION_SCHEMA.columns
WHERE column_name = '<your column name>';

你可以看到這個記錄

對於 IBM DB2,您將使用以下內容:

select tabschema,tabname from syscat.columns where colname = 'COLUMN_NAME'

請注意,在 DB2 中,列名將大寫**,除非它們是在雙引號內定義的,而不是大寫的。然後,您還必須提供列名的確切大小寫。**

引用自:https://dba.stackexchange.com/questions/44785