2013-04-04 36 views
3

對不起,我是SQLPlus的新東西!「ORA-00928:缺少SELECT關鍵字」錯誤,同時使用序列函數

所以在這裏,我有一個名爲iowe的表,我有一個預先載入它的四條記錄。這是它看起來像:

 
NAME   AMOUNT Serial Number 
---------- ---------- ------------- 
Praveen   20500    1 
Roshan   5000    2 
Rohit   5000    3 
Shashi   8000    4 

直到我進入這四個記錄,我不知道SQL中的序列函數。所以我試圖暗示它進入這張桌子。我想輸入一個新記錄,例如說名稱爲「XXX」,數量爲,並且使用序列命令,我想讓「序列號」自動遞增。

因此,我創建了一個名爲iowesqn序列,它看起來像這樣,當我從USER_SEQUENCES選擇*:

 
SEQUENCE_NAME     MIN_VALUE MAX_VALUE INCREMENT_BY C O CACHE_SIZE LAST_NUMBER 
------------------------------ ---------- ---------- ------------ - - ---------- ----------- 
SQN          1   5   2 N N   0   3 
IOWESQN         1 1.0000E+27   1 N N   0   7 

請忽略序列SQN

插入序列IOWESQN,我用這個命令:「insert into iowe(name ,金額,「序列號」) values('XXX',500,iowesqn.nextval)「

一切工作正常。序列號在每個條目上都按1遞增。但是,當我嘗試「插入到iowe('&名稱','&數量',」序列號「)值(iowesqn.nextval));」,它詢問我的名字和金額,但是那麼(在金額輸入後),它會拋出一個錯誤。它讀取:「ORA-00928:缺少SELECT關鍵字」

這是該金額輸入後,出現整個事情:

老1:插入iowe( '&名', '&量', 「序列號」)值(iowesqn.nextval) ) new 1:insert into iowe('ret','ert',「Serial Number」)value(iowesqn.nextval)) insert into iowe('ret','ert',「Serial Number」)value(iowesqn .nextval)) * ERROR位於第1行: ORA-00928:缺少SELECT關鍵字

請告訴我我(或(極不可能))做錯了。

在此先感謝。

回答

2

你的看法是錯誤的。就那麼簡單。有了這個固定的語句:

INSERT INTO iowe(姓名,金額, 「序列號」)VALUES( 'XXX',500,iowesqn.nextval)

你可能意味着由更換你的價值觀變量,而不是你的領域?

插入到iowe(名稱,金額, 「序列號」)的值( '&名',&量,iowesqn.nextval)

+0

甜!它像一個魅力一樣工作!有沒有辦法刪除或更改序列IOWESQN的user_sequences中的LAST_NUMBER列爲其他任何東西?說6? 現在是11點。 這甚至可能嗎?你想讓我在新帖子中提出這個問題嗎? – 2013-04-04 14:23:34

+0

如果我沒有記錯,您不能重置此號碼。但是,您可以使用(例如)6作爲新的起始值重新創建序列。 – nvoigt 2013-04-04 15:12:41

+0

啊好的.. Thnx一噸! :) – 2013-04-04 15:32:21

1

其他用戶可能已經在values代替已使用value 。這可能是您遇到此問題的另一種情況。

0

這是因爲你已經錯過了提列列表

INSERT INTO TABLE_NAME(1, 'alskdjflasf')

它應該是這樣的 INSERT INTO表名(ID,姓名)值(1 .'lakjsdflasdf')