2013-11-27 57 views
0

我想下面的查詢,但得到一個錯誤如下文所述, 我需要插入存在於data excel表不存在 person表,但在data_excel_1928桌子上有名字存在多個nameid是人表中的主鍵。SQL插入,Sequecence.Nextval不工作

INSERT INTO Person (Name,source,id) 
SELECT Distinct(A.Person_Name),source,seq.nextval 
     FROM Data_Excel_1928 A 
LEFT OUTER JOIN Person B 
     ON A.Person_name = B.Name 
    WHERE B.Name IS NULL 

*原因:指定的序列號(CURRVAL或NEXTVAL)是不合適的 這裏的聲明。

*操作:刪除序列號。

+0

在data_excel名稱有多個enteries,所以我想SELECT DISTINCT /獨特的名字; –

回答

1

嘗試這樣,

INSERT INTO Person (NAME,SOURCE,ID) 
SELECT person_name, SOURCE, seq.nextval 
FROM 
(
    SELECT Distinct A.Person_Name person_name,source 
      FROM Data_Excel_1928 A 
    LEFT OUTER JOIN Person B 
      ON A.Person_name = B.Name 
      WHERE B.NAME IS NULL 
); 
+0

@NicholasKrasnov,謝謝你的建議。我已經在我的答案中更新了這一點。 – Dba