cha*_*ged 5 sql oracle insert oracle10g
我正在使用oracle数据库
在表中插入行时,我需要找到列的最大值并将其递增1,并在我插入的行中使用该值.
INSERT INTO dts_route
(ROUTE_ID, ROUTE_UID, ROUTE_FOLDER)
VALUES (
(SELECT MAX(ROUTE_ID) + 1 FROM route) ,
ROUTE_UID,
ROUTE_FOLDER)
Run Code Online (Sandbox Code Playgroud)
如果它们是表中的至少一个条目,则此方法正常.但是当它们在表中没有条目时返回null.
如果表中没有条目,我怎么能得到默认值1.
cod*_*nix 13
SELECT COALESCE(MAX(ROUTE_ID),0) ...
Run Code Online (Sandbox Code Playgroud)
Ily*_*gan 11
这不是创建自动增量字段的安全方法.您可以使用Oracle序列来实现此目标.
对于null,您可以使用NVL在函数返回null的情况下给出默认值(例如,0).
| 归档时间: |
|
| 查看次数: |
13699 次 |
| 最近记录: |