3
我發現它在這樣的語句:Oracle的提示「restrict_all_ref_cons」是什麼意思?
delete /*+ restrict_all_ref_cons */ from table_1 where ...
誰能給一些片什麼的提示是做信息?
該數據庫是一個Oracle數據庫10.2.0.3.0。
我發現它在這樣的語句:Oracle的提示「restrict_all_ref_cons」是什麼意思?
delete /*+ restrict_all_ref_cons */ from table_1 where ...
誰能給一些片什麼的提示是做信息?
該數據庫是一個Oracle數據庫10.2.0.3.0。
該提示禁用級聯刪除,因此從父級刪除時,子行不會從子級表中刪除。
請看這裏的例子;
create table s11 (x int primary key);
create table s12 (y int primary key, x references s11 on delete cascade);
insert into s11 values (1);
insert into s12 values (1, 1);
commit;
SQL> delete from s11;
1 row deleted.
SQL> select * from s12;
no rows selected <=========== when deleting parent row in s11, the child row in s12 is also deleted.
SQL> rollback;
Rollback complete.
SQL> delete /*+ RESTRICT_ALL_REF_CONS */ from s11;
1 row deleted.
SQL> select * from s12; <=========== with RESTRICT_ALL_REF_CONS hint, the child row will not be deleted.
Y X
---------- ----------
1 1