[英]Restricting distinct keyword on single column in Sql plus
INSERT INTO DEPT(Dept_ID, Dept_Name)
(SELECT DISTINCT department_id, last_name
FROM my_employee);
my_employee表中的department_id可能包含重復密鑰,但Dept_ID是PRIMARY KEY。
顯示錯誤(ORA-00001:唯一約束(ROHITRAJ.SYS_C0013013)被違反)。
上面的代碼已更改,如下所示,但仍然無法正常工作:
INSERT INTO DEPT(Dept_ID, Dept_Name)
(SELECT (DISTINCT department_id), last_name
FROM my_employee);
是否可以從包含重復項的列中將數據插入到包含唯一鍵的列中?
是否可以從包含重復項的列中將數據插入到包含唯一鍵的列中?
您的主鍵字段必須僅包含唯一值。 如果您嘗試在其上插入重復數據,它將引發異常。
如果要創建另一個列,該列將處理department_id
並僅在Dept_ID
上存儲一個自動編號。
嘗試這個:
INSERT INTO DEPT(Dept_ID, Department_id, Dept_Name)
(SELECT rownum, department_id, last_name
FROM my_employee);
注意: (rownum僅適用於Oracle,這意味着行號。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.