簡體   English   中英

在SQL Plus中限制單列上的唯一關鍵字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM