我正在使用oracle數據庫。我試圖從表中選擇最大數字,然後將其增加一個,然後重新插入它作爲新記錄,例如: insert into table1(id,name) values (select max(id) from table1 + 1,'name2');
插入最大選定值作爲新記錄oracle
但它給了我缺少的表達式錯誤。
在此先感謝。
我正在使用oracle數據庫。我試圖從表中選擇最大數字,然後將其增加一個,然後重新插入它作爲新記錄,例如: insert into table1(id,name) values (select max(id) from table1 + 1,'name2');
插入最大選定值作爲新記錄oracle
但它給了我缺少的表達式錯誤。
在此先感謝。
雖然通過選擇插入表中,沒有必要關鍵字values
insert into table1(id,name) (select max(id) from table1 + 1,'name2');
INSERT INTO table1(id, name)
SELECT max(id) + 1, 'name2'
FROM table1
將是有效的語法。這種產生id
值的方法是非常差的方法。它在多用戶環境中不起作用,因爲許多不同的會話可能會得到相同的id
值。它比使用序列效率低得多。
insert into table1(id,name) values ((select max(id) from table1) + 1,'name2')
*許多不同的會話可能會得到相同的id * +1。非常重要的一點。 – Leigh