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
Oracle SQL错误-ORA-02291:违反完整性约束(HR.EMP_JOB_FK)-未找到父项_Sql_Oracle - Fatal编程技术网

Oracle SQL错误-ORA-02291:违反完整性约束(HR.EMP_JOB_FK)-未找到父项

Oracle SQL错误-ORA-02291:违反完整性约束(HR.EMP_JOB_FK)-未找到父项,sql,oracle,Sql,Oracle,我是Oracle SQL新手,我下载了Oracle SQL developer,它附带了一些您可能知道的预编程表。所以我选择了(Employees)表来练习我的Insert语句。我运行下面的脚本,我得到一个错误,纸条是 插入到员工中 值(1000、'Anouar'、'Seljouki'、'Seljouki84@gmail.com,0662777081,截至2012年3月19日, 'DD,MM,YYYY'),24216000,空,空,空); 列的顺序如下: 名称为空?类型 -----------

我是Oracle SQL新手,我下载了Oracle SQL developer,它附带了一些您可能知道的预编程表。所以我选择了(Employees)表来练习我的Insert语句。我运行下面的脚本,我得到一个错误,纸条是

插入到员工中
值(1000、'Anouar'、'Seljouki'、'Seljouki84@gmail.com,0662777081,截至2012年3月19日,
'DD,MM,YYYY'),24216000,空,空,空);
列的顺序如下:

名称为空?类型
-------------- -------- ------------ 
员工ID非空编号(6)
名字VARCHAR2(20)
姓氏非空VARCHAR2(25)
电子邮件不为空VARCHAR2(25)
电话号码VARCHAR2(20)
雇用日期非空日期
作业ID不为空VARCHAR2(10)
工资编号(8,2)
委员会PCT编号(2,2)
经理身份证号码(6)
部门识别号(4)
错误是:

从命令中的第1行开始出错-
插入到员工中
值(1000、'Anouar'、'Seljouki'、'Seljouki84@gmail.com,0662777081,截止日期('19-03-12','DD,MM,YY') ,24216000,空,空,空)

错误报告-
ORA-02291:违反完整性约束(HR.EMP_JOB_FK)-未找到父密钥


您收到“违反完整性约束”消息的原因是,您试图输入到JOB_ID字段中的242值在约束
HR.EMP_JOB_FK
中引用的表中不存在。您必须查看该约束以找出它引用的表。

您收到“违反完整性约束”消息的原因是,您试图输入到JOB_ID字段中的242值不存在于约束
HR.EMP_JOB_FK
中引用的表中。您必须查看该约束,才能确定它引用的是哪个表。

“我是Oracle SQL新手,我下载了Oracle SQL开发人员”,那么为什么标记2也要完成不同的RDBMS呢。。?请只标记您真正使用的RDBMS。您标记了3个完全不同的RDBMS?请只标记感兴趣的一个。还可以查看编辑器的代码格式化功能。错误消息会告诉您问题所在。JOB_ID列是一个外键,指向JOBS表。不能在员工中插入作业id在作业表中不存在的行。如果这是一个全新的作业(以前在这些表中不存在),则必须先在JOBS表中创建它,然后在INSERT in EMPLOYEES中使用它。请注意,这是对INSERT语句的完美测试:您从中学到了一些东西。这正是您在学习新知识时希望进行的测试。标记:是的,
oracle
是正确的标记。您的问题与MySQL或SQL Server无关。这个网站通常会自动为你的帖子分配标签,而且几乎总是出错;即使你没有把它们放在那里,你当然可以删除它们。另一个澄清。您说“我下载了Oracle SQL developer,它附带了一些您可能知道的预编程表”。不,SQLdev不附带任何表,预编程或其他。它甚至没有数据库。sqldev只是一个GUI客户机。任何数据库都是完全独立的安装。即使是oracle数据库的默认安装也没有任何表,如EMPLOYEES等。这些表是示例模式的一部分,在数据库创建后在数据库中单独创建。“我是oracle SQL新手,我下载了oracle SQL developer”,那么为什么标记2也要完成不同的RDBMS呢。。?请只标记您真正使用的RDBMS。您标记了3个完全不同的RDBMS?请只标记感兴趣的一个。还可以查看编辑器的代码格式化功能。错误消息会告诉您问题所在。JOB_ID列是一个外键,指向JOBS表。不能在员工中插入作业id在作业表中不存在的行。如果这是一个全新的作业(以前在这些表中不存在),则必须先在JOBS表中创建它,然后在INSERT in EMPLOYEES中使用它。请注意,这是对INSERT语句的完美测试:您从中学到了一些东西。这正是您在学习新知识时希望进行的测试。标记:是的,
oracle
是正确的标记。您的问题与MySQL或SQL Server无关。这个网站通常会自动为你的帖子分配标签,而且几乎总是出错;即使你没有把它们放在那里,你当然可以删除它们。另一个澄清。您说“我下载了Oracle SQL developer,它附带了一些您可能知道的预编程表”。不,SQLdev不附带任何表,预编程或其他。它甚至没有数据库。sqldev只是一个GUI客户机。任何数据库都是完全独立的安装。即使是oracle数据库的默认安装,也不会附带任何表,如EMPLOYEES等。这些表是示例模式的一部分,在创建数据库后,该模式是数据库中的一个单独创建。