PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

PostgreSQL:Tập lệnh SQL để lấy danh sách tất cả các bảng có một cột cụ thể làm khóa ngoại

SELECT
    r.table_name
FROM information_schema.constraint_column_usage       u
INNER JOIN information_schema.referential_constraints fk
           ON u.constraint_catalog = fk.unique_constraint_catalog
               AND u.constraint_schema = fk.unique_constraint_schema
               AND u.constraint_name = fk.unique_constraint_name
INNER JOIN information_schema.key_column_usage        r
           ON r.constraint_catalog = fk.constraint_catalog
               AND r.constraint_schema = fk.constraint_schema
               AND r.constraint_name = fk.constraint_name
WHERE
    u.column_name = 'id' AND
    u.table_catalog = 'db_name' AND
    u.table_schema = 'public' AND
    u.table_name = 'table_a'

Điều này sử dụng bộ ba danh mục / lược đồ / tên đầy đủ để xác định một bảng db từ cả 3 chế độ xem information_schema. Bạn có thể bỏ một hoặc hai cái theo yêu cầu.

Truy vấn liệt kê tất cả các bảng có ràng buộc khóa ngoại so với cột 'a' trong bảng 'd'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tsrange - Tính toán sự khác biệt giữa hai phạm vi

  2. Phát hiện xem hàng đã được cập nhật hoặc được chèn hay chưa

  3. Bảng 'xoay vòng' đơn giản của Postgres

  4. Chọn tất cả các bản ghi bằng cách sử dụng SQL LIMIT và truy vấn OFFSET

  5. Lỗi kết nối với db heroku postgres trong nodejs