Drop foreign keys generally in POSTGRES

前端 未结 2 601
长发绾君心
长发绾君心 2021-01-11 15:45

How can I drop Foreign keys in general. I mean, if I have many foreign key constraints in a table. like

MonthlyEvaluatedBudgetTable Contraints:

2条回答
  •  旧时难觅i
    2021-01-11 16:32

    Loop it in DO statement, like:

    b=# create table a (a int primary key, b int unique);
    CREATE TABLE
    b=# create table b (a int references a(a), b int references a(b));
    CREATE TABLE
    b=# do
    $$
    declare r record;
    begin
    for r in (select constraint_name from information_schema.table_constraints where table_schema = 'public' and table_name='b') loop
      raise info '%','dropping '||r.constraint_name;
      execute CONCAT('ALTER TABLE "public"."b" DROP CONSTRAINT '||r.constraint_name);
    end loop;
    end;
    $$
    ;
    INFO:  dropping b_a_fkey
    INFO:  dropping b_b_fkey
    DO
    

提交回复
热议问题