更新查询中没有autonincrement列的最大值 - Oracle

时间:2015-01-14 15:00:49

标签: sql oracle

在MySQL中我可以像这样实现它(max value of no autonincrement column in update query):

INSERT INTO mytable (mykeycolumn,col1,col2) VALUES
 ((SELECT MAX(mykeycolumn) FROM mytable AS foo)+1,'val1','val2');

但是,在Oracle中,我得到ORA-00907: missing right parenthesis

我该怎么办?

2 个答案:

答案 0 :(得分:3)

你为什么使用VALUES?

INSERT INTO mytable (mykeycolumn,col1,col2)
 SELECT MAX(mykeycolumn)+1,'val1','val2' FROM mytable

答案 1 :(得分:1)

INSERT INTO mytable (mykeycolumn,col1,col2) VALUES
 ((SELECT MAX(mykeycolumn)+1 FROM mytable),'val1','val2');

即。将+1移动到子选择中。