0

c# を使用して postgresql でデータベース テーブルのクローンを作成しています。また、新しく作成したテーブルに制約を追加したいと考えています。

制約を動的に追加する方法を提案できる人はいますか?

複製したテーブルからすべての制約を追加したい

ありがとう

4

1 に答える 1

0

次のようなものを使用します。

SELECT pg_get_constraintdef(oid)
  FROM pg_constraint
 WHERE conrelid = (select oid from pg_class where relname = ?)

どこ ?制約のコピー元のテーブル名です。次に、チェック、一意、およびキー制約のリストを取得し、アプリケーションで何をコピーするかを決定できます。これらは定義形式であるため、次のような行が表示されます。

 PRIMARY KEY(id)

 FOREIGN KEY (other_id) REFERENCES other_table (id)
于 2013-11-12T02:11:01.573 に答える