更新查询中无自动增量列的最大值 - Oracle
max value of no autonincrement column in update query - Oracle
在MySQL中我可以这样实现():
INSERT INTO mytable (mykeycolumn,col1,col2) VALUES
((SELECT MAX(mykeycolumn) FROM mytable AS foo)+1,'val1','val2');
但是,在 Oracle 中,我得到一个 ORA-00907: missing right parenthesis
我能做什么?
INSERT INTO mytable (mykeycolumn,col1,col2) VALUES
((SELECT MAX(mykeycolumn)+1 FROM mytable),'val1','val2');
即将 +1 移动到子 select.
为什么要使用 VALUES?
INSERT INTO mytable (mykeycolumn,col1,col2)
SELECT MAX(mykeycolumn)+1,'val1','val2' FROM mytable
在MySQL中我可以这样实现(
INSERT INTO mytable (mykeycolumn,col1,col2) VALUES
((SELECT MAX(mykeycolumn) FROM mytable AS foo)+1,'val1','val2');
但是,在 Oracle 中,我得到一个 ORA-00907: missing right parenthesis
我能做什么?
INSERT INTO mytable (mykeycolumn,col1,col2) VALUES
((SELECT MAX(mykeycolumn)+1 FROM mytable),'val1','val2');
即将 +1 移动到子 select.
为什么要使用 VALUES?
INSERT INTO mytable (mykeycolumn,col1,col2)
SELECT MAX(mykeycolumn)+1,'val1','val2' FROM mytable