ITPub博客

首页 > 数据库 > Oracle > oracle insert时指定最小可用ID或最大可用ID

oracle insert时指定最小可用ID或最大可用ID

Oracle 作者:webzsm 时间:2012-04-14 22:44:00 0 删除 编辑

很多时候我们制作的程序要分多步进行数据储存到同一条数据中,如何在处理第一次insert的时候知道这次生成的数据ID呢?很多人说可以查询一下咩,然后取ID最大的那条数据一定是刚刚insert进去的。但是如果我们insert的时候用的不是最大可用ID,而是触发器自动生成的最小可用ID呢?或者在你进行insert的同时很多人一起进行了insert操作,那么你重新查询的最大ID就不准确了,对此我们必须要指定insert的ID,将此ID作为变量传递到程序下一步操作中进行update动作。

步骤/方法

  1. 1

    取数据库表中的最小可用ID
    表[ALLUSER]
    SELECT MIN(ID)+1 AS NID FROM ALLUSERa WHERE NOT EXISTS(SELECT ID FROM ALLUSER b WHERE a.ID+1=b.ID)
    这样我们就得到了最小的可用ID,可以将得到的值赋给变量,并用在insert操作中指定ID,在进行下一步操作时候可以用变量中的ID进行update动作。

  2. 2

    同理,取数据库表中的最大可用ID
    SELECT MAX(ID)+1 AS NID FROM ALLUSER

    END

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/53195/viewspace-1109301/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论