Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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 将现有值插入表中,而不是创建新值_Sql_Oracle_Insert - Fatal编程技术网

Sql 将现有值插入表中,而不是创建新值

Sql 将现有值插入表中,而不是创建新值,sql,oracle,insert,Sql,Oracle,Insert,我有一个学生id,该id已经存在于学生表中,因此我尝试将该学生插入到注册表中,而不是创建新的注册表,但问题是这两个表有不同的列,我不确定该在section\u id列下放什么,因为section\u id是number,如果我从student表中选择任何内容到select语句中,我会得到一个错误 我通常会收到错误“违反完整性约束-未找到父密钥” 我把问号放在问题所在的地方…我怎样才能解决这个问题 这就是我所拥有的 INSERT INTO ENROLLMENT(STUDENT_ID,SECTIO

我有一个学生id,该id已经存在于学生表中,因此我尝试将该学生插入到注册表中,而不是创建新的注册表,但问题是这两个表有不同的列,我不确定该在section\u id列下放什么,因为section\u id是number,如果我从student表中选择任何内容到select语句中,我会得到一个错误

我通常会收到错误“违反完整性约束-未找到父密钥”

我把问号放在问题所在的地方…我怎样才能解决这个问题

这就是我所拥有的

INSERT INTO ENROLLMENT(STUDENT_ID,SECTION_ID,ENROLL_DATE, FINAL_GRADE, CREATED_BY ,CREATED_DATE ,MODIFIED_BY ,MODIFIED_DATE )
SELECT STUDENT_ID, ???? ,sysdate,NULL,'john',sysdate,'john',sysdate
FROM STUDENT
WHERE STUDENT_ID = 300;
我认为这应该奏效:
 
INSERT INTO ENROLLMENT(STUDENT_ID,SECTION_ID,ENROLL_DATE, FINAL_GRADE, CREATED_BY ,CREATED_DATE                         ,MODIFIED_BY ,MODIFIED_DATE )
SELECT STUDENT_ID, ???? (SECTION.SECTION_ID value) ,sysdate,NULL,'john',sysdate,'john',sysdate
FROM STUDENT
WHERE STUDENT_ID = 300;

插入到注册中(学生ID、部门ID、注册日期、最终成绩、创建人、创建人、修改人、修改日期)
选择学生ID????(SECTION.SECTION_ID值),sysdate,NULL,'john',sysdate,'john',sysdate
来自学生
其中,学生ID=300;

查看表部分中的数据。如果没有行,则插入一行。从字段节_ID中获取值,并将其替换为????(大约100)。在这种情况下,还必须在STUDENT表中插入STUDENT_ID=300的行。

这是您的模式。你应该知道什么是
section\u id
。。。它是一个外键,因此它将
注册
表值与另一个表链接。好的,我更新了架构,因此当学生尚未注册到enrollemnet表中,但存在于学生表中时,我如何知道节id是什么?您需要确定节表中应该存在的正确节id。与了解您的数据模型的人交谈。如果student_id 300存在于任何其他表中,我不会问这个问题,是的,我已选择查看此student_id是否存在于每个表中,但未给出任何结果…对于“违反完整性约束-未找到父键”错误,您需要查找父-子(主键-外键)关系确保数据存在于父表中,然后再发送到子表中,这正是上述帖子所建议的