Oracle 遅延制約 設定 deferred deferrable
Oracle において 遅延制約 の設定を示す。
一意制約
遅延可能な一意制約は、非ユニーク索引で実装される。
×ユニーク索引では遅延できない CREATE UNIQUE INDEX order_items_uk ON oreder_items ( order_id, product_id ); ALTER TABLE order_items ADD CONSTRAINT order_items_uk unique ( order_id, product_id ) deferrable; ○非ユニーク索引では遅延可能 CREATE INDEX order_items_uk ON oreder_items ( order_id, product_id ); ALTER TABLE order_items ADD CONSTRAINT order_items_uk unique ( order_id, product_id ) deferrable;
テーブル作成
テーブル作成時には以下を設定する。
create table const_ini_deffer ( id number, constraints unq_id unique (id) initially deferred deferrable );
セッション中
セッション中では以下コマンドで切り替える(セッション毎)。
alter session set constraints = immediate; alter session set constraints = deferred;
テーブル作成後
テーブル作成後には以下コマンドで切り替える。
set constraint unq_id immediate; set constraint unq_id deferred;
ご訪問頂き有難う御座います。
当サイトを効率良く使うためにまずは FrontPage を見て下さい。
検索方法、一覧表示などの各情報を纏めています。
当サイトの説明 → Frontpage