postgreSQL外鍵引用查詢 查詢外鍵被那些表占用


根據一個表名,查詢所有外鍵引用它的表,以及那些外鍵的列名
key_column_usage(系統列信息表),
pg_constraint(系統所有約束表)

SELECT  x.table_name,
        x.column_name
  FROM  information_schema.key_column_usage x
  INNER JOIN  (SELECT  t.relname, 
                       a.conname 
                 FROM  pg_constraint a 
                 INNER JOIN pg_class ft
                         ON ft.oid = a.confrelid 
                 INNER JOIN pg_class t 
                         ON t.oid = a.conrelid
                WHERE  a.contype = 'f' 
                  AND  a.confrelid =
                       (select e.oid 
                          from pg_class e
                         where e.relname = 'xxx_table')
                ) tp 
          ON (x.table_name = tp.relname AND
              x.constraint_name = tp.conname)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM