Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
Oracle 甲骨文杀戮_Oracle_Insert_Commit_Oracle Sqldeveloper - Fatal编程技术网

Oracle 甲骨文杀戮

Oracle 甲骨文杀戮,oracle,insert,commit,oracle-sqldeveloper,Oracle,Insert,Commit,Oracle Sqldeveloper,我得到了一个OracleDB10G,这里是一个表作为示例 create table Dienstplan ( Montag Number(2), Dienstag Number(2), Mittwoch Number (2), Donnerstag Number (2), Freitag Number (2), Samstag Number (2), Sonntag Number (2), gueltigAb DATE default SYSDATE NOT NULL, PersonalNr N

我得到了一个OracleDB10G,这里是一个表作为示例

create table Dienstplan
(
Montag Number(2),
Dienstag Number(2),
Mittwoch Number (2),
Donnerstag Number (2),
Freitag Number (2),
Samstag Number (2),
Sonntag Number (2),
gueltigAb DATE default SYSDATE NOT NULL,
PersonalNr Number(10) references Mitarbeiter(PersonalNr) INITIALLY DEFERRED DEFERRABLE,
PRIMARY KEY (PersonalNr, gueltigAb),
check (Montag <= 24),
check (Dienstag <= 24),
check (Mittwoch <= 24),
check (Donnerstag <= 24),
check (Freitag <= 24),
check (Samstag <= 24),
check (Sonntag <= 24)
);
/
真正有趣的是,sqldeveloper中的手动插入(插入行-对话框&提交)工作起来很有魅力,这对我一点帮助都没有

谢谢你的帮助
Chee hoax

我的猜测是,您的用户界面没有正确处理异常,插入失败是因为某些原因,但您没有被告知。

我的猜测是,您的用户界面没有正确处理异常,插入失败是因为某些原因,但您没有被告知。

请确保您没有向任何一方隐藏任何异常插入或提交。(由于FK约束是延迟的,您将从FK冲突的提交中获得异常。)


作为一个更一般的调试建议,我建议使用,这样您就可以准确地看到发生了什么。

确保您没有隐藏任何对插入或提交的异常。(由于FK约束是延迟的,您将从FK冲突的提交中获得异常。)

作为一个更一般的调试建议,我会说使用,这样您就可以准确地看到发生了什么。

另一个想法:

如果您认为IDE正在屏蔽/隐藏/未显示适当的异常,为什么不将insert和commit添加到Begin。。。结束(匿名PL/SQL块)并查看pops是什么?更重要的是,异常块中的dbms_输出也会起作用

但当然,上面提到的SQL跟踪将向您展示幕后的情况,据我所知,SQL跟踪只适用于PL/SQL语句,如果这是正确的,您必须将insert和commit放在PL/SQL块中。

另一个想法:

如果您认为IDE正在屏蔽/隐藏/未显示适当的异常,为什么不将insert和commit添加到Begin。。。结束(匿名PL/SQL块)并查看pops是什么?更重要的是,异常块中的dbms_输出也会起作用


当然,上面提到的SQL跟踪将向您展示幕后的情况,据我所知,SQL跟踪只适用于PL/SQL语句,如果这是正确的,您将不得不将插入和提交放在PL/SQL块中。

您使用什么前端/API/执行插入和提交失败的操作?我打赌您可能会出于某种原因(尽管您认为不是),插入一个不存在的PersonalNr,由于约束被延迟,直到您提交时才会出现错误。您使用什么前端/API/执行插入和提交失败的操作?我打赌您可能会出于某种原因(尽管您认为不会)插入一个不存在的PersonalNr,由于约束被延迟,直到您提交时才会出现错误。我打赌提交会引发异常,但应用程序语言不期望它。我打赌提交会引发异常,但应用程序语言不期望它。
INSERT INTO Dienstplan (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag,   Sonntag, PersonalNr) values ('1', '2','3','4','5','6','7','1');