3
我是PostgreSQL的新手。我正在努力解決一個問題。問題是我想從給定表引用的表中刪除外鍵約束。以下查詢給我的約束列表。從PostgreSQL中給定的表中引用的表中刪除外鍵約束
SELECT
tc.ct_name, tc.table_name AS fg_tb_name, kcu.column_name AS fg_cn_name,
ccu.table_name AS tb_name,
ccu.column_name AS cn_name,
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'FOREIGN KEY' AND ccu.table_name='dimension' AND ccu.table_schema='public';
它給出了由'維'表引用的表和外鍵名稱列表。查詢的
結果如下: -
ct_name | fg_tb_name | fg_cn_name | tb_name | cn_name |
--------------------------------------------------------------------------------------
data_ver_fk_cur | data_ver | cur | dimension | dim_id |
--------------------------------------------------------------------------------------
data_ver_fk_reg | data_ver | reg | dimension | dim_id |
--------------------------------------------------------------------------------------
data_ver_fk_ven | data_ver | ven | dimension | dim_id |
---------------------------------------------------------------------------------------
我想刪除其存在於所得的表中的所有約束。請建議我。
也許這有助於:http://stackoverflow.com/questions/18271622/generate-sql-to-update-primary-key它需要psql「\ d table_name」的輸出。 – guettli