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