[英]Inserting existing value into a table, not creating new one
我的學生表中已經存在一個student_id,因此我試圖將該學生插入到一個注冊表中,而不是創建一個新的學生,但是問題是這兩個表具有不同的列,而且我不確定該放在什么下面section_id列,因為section_id是數字,並且如果我從學生表中選擇任何內容到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;
在表SECTION中查找數據。
如果沒有行,則插入一行。
從字段SECTION_ID中獲取值,然后將其替換為????
(例如100)。
在這種情況下,還必須在表STUDENT中插入STUDENT_ID = 300的行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.