Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么oracle不忽略直接路径插入的引用完整性约束_Sql_Oracle_Oracle11g - Fatal编程技术网

Sql 为什么oracle不忽略直接路径插入的引用完整性约束

Sql 为什么oracle不忽略直接路径插入的引用完整性约束,sql,oracle,oracle11g,Sql,Oracle,Oracle11g,根据,, 在直接路径插入操作期间,Oracle会在表中现有数据之后追加插入的数据。数据直接写入数据文件,绕过缓冲区缓存。不重用现有数据中的可用空间,并且忽略引用完整性约束。这些程序结合起来可以提高性能 因此,下面的SQL应该将数据插入到表“c”中。但是Oracle仍然检查引用约束,为什么 create table a(b varchar2(30)); alter table a add constraint "pk_a" primary key (b); create table c(b va

根据,,

在直接路径插入操作期间,Oracle会在表中现有数据之后追加插入的数据。数据直接写入数据文件,绕过缓冲区缓存。不重用现有数据中的可用空间,并且忽略引用完整性约束。这些程序结合起来可以提高性能

因此,下面的SQL应该将数据插入到表“c”中。但是Oracle仍然检查引用约束,为什么

create table a(b varchar2(30));
alter table a add constraint "pk_a" primary key (b);
create table c(b varchar2(30), constraint "fk_b" foreign key(b) references a(b));

insert /*+ APPEND */ into c select 'a'||rownum from dual connect by level<=10000;

对不起,伙计们。我应该在问这个问题之前搜索这个论坛, 从线程中找到asktom链接
这回答了我的问题。

如您所示,在直接路径插入过程中不会忽略引用约束。我将尝试找出9i文档中为什么会这样说……

谢谢您的时间。asktomin my Response的链接回答了原因。我想oracle的文档不充分/有误导性。它仍在11.2文档中。Tom的回答很好地解释了这是怎么回事,但对我来说,这是一个文档错误。。。