Oracle SQL错误-ORA-02291:违反完整性约束(HR.EMP_JOB_FK)-未找到父项
我是Oracle SQL新手,我下载了Oracle SQL developer,它附带了一些您可能知道的预编程表。所以我选择了(Employees)表来练习我的Insert语句。我运行下面的脚本,我得到一个错误,纸条是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,空,空,空); 列的顺序如下: 名称为空?类型 -----------
插入到员工中
值(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等。这些表是示例模式的一部分,在创建数据库后,该模式是数据库中的一个单独创建。