我找到下面的代碼:以錯誤的方式插入Oracle - 如何處理它?
select max(id) from TABLE_NAME ...
... do some stuff ...
insert into TABLE_NAME (id, ...)
VALUES (max(id) + 1, ...)
我可以創建適用於PK的序列,但有一串現有的代碼(傳統的ASP中,現有的asp.net應用不屬於這一部分項目),它不會使用它。
我應該忽略它,還是有辦法解決它而不進入現有的代碼?
我想,最好的選擇就是要做到:
insert into TABLE_NAME (id, ...)
VALUES (select max(id) + 1, ...)
選項?
不幸的是,那是什麼似乎發生 - 第一選擇MAX(id)返回「新」的ID,並將周圍,所以使用觸發器爲忽略插件將無法正常工作。 – chris 2009-02-19 16:01:26