我目前正在處理一組查詢以從 SQL 表中提取資料,然后回圈以從通過外鍵在第一個表中參考的其他表中提取任何條目。
aka 如果表 A 列 A 只能具有出現在表 B 的主鍵中的值,我想提取表 A 的提取中參考的表 B 的所有行。
過去,要做到這一點,我會撰寫一個查詢,查看information_schema.table_constraints鍵列并將其與鍵列進行匹配;類似于本文中建議的查詢。但是,當我從當前資料庫的表中提取資訊時table_constraints,我得到一個空回應;我得到表格標題,但沒有行。盡管我知道在我正在使用的 Postgresql 資料庫中有很多約束,尤其是外鍵約束,但這是事實。給我空回應的查詢盡可能簡單,如下所示:
SELECT * FROM information_schema.table_constraints
我應該參考其他地方來獲取外鍵約束資訊嗎?我還能如何找到表上的外鍵約束?
編輯:我更幸運地通過pg_catalog; 資料至少似乎存在于那里。但是,它們都被抽象為數字 ID,并且我在將足夠多的鏈接在一起以獲取實際的列名和其他關鍵資料時遇到了一些麻煩。
uj5u.com熱心網友回復:
在information_schema視圖中,您只能看到您擁有權限的物件。
您打算進行聯接,而不是按主鍵進行很多小查詢,對嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/432607.html
標籤:sql PostgreSQL
