Oracle怎么得到刚刚新插入数据库那条记录的id

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle怎么得到刚刚新插入数据库那条记录的id相关的知识,希望对你有一定的参考价值。

不要跟我说用max

如果是plsql代码块,使用returning into 结果集,获取id;
如果是单独sql语句,若id是序列可用序列名.currval获取id值,但是出现并发情况可能获取有误;若非序列,需根据业务情况编写sql获取。
以上。
参考技术A 要寻找最新的一条记录,可以按照时间相关的列排序的方法。
如果没有这样的列,可以使用Logminer这样的工具对数据库重做日志进行分析。本回答被提问者和网友采纳

PHP中如何实现上移和下移功能,急需,请帮忙解决下!

我的主键设的是ID,我想的是,把需要上移的那条信息的ID和它上面的那条信息的ID交换一下,就OK了,可是如何实现,我就不知道了,希望高手指点一二!!

增加一个字段,在新字段中按你的要求进行排序。取数据里order by 新字段就是了。不要整条记录移动。太麻烦。只对新字段排序就好了。追问

我这边要实现的还有置顶功能,我在置顶功能里已经增加了一个新的字段,数据库里输出的信息是根据置顶后的字段排序的,要是上移再增加一个字段的话,那个排序的SQL怎么写???

追答

首先update你的新字段为你的记录ID,字段类型设为浮点。把你要调整的哪条记录update为要调整位置的中间值即可。如想把某条放在3-4条间update字段为(4-3)/2+2就行了。这样你正序或倒序取记录就可以得到你要求的非序了。取3、4条记录一定要用排序找,不然数据会不对。

参考技术A 1:先备份数据库,防止错误删除,
2:写一段程序,将两条记录的内容取出来,
3:然后将两条记录在数据库中删除,
4:再将取出来的两条记录的内容交换,
5:再写入数据库。追问

如果我的ID编号为1,2,3,4,5,我现在在第五点信息上进行上移操作(只移一个),我怎么把第四条信息也取出来啊?我就是想让第四条和第五条交换一下,有什么简单的方法可以实现?忘高手指点!!!

参考技术B 好像只能重新建立呢。

以上是关于Oracle怎么得到刚刚新插入数据库那条记录的id的主要内容,如果未能解决你的问题,请参考以下文章

oracle 如何获得新插入记录的id

mysql insert一条记录后怎样返回创建记录的主键id,last

mysql insert一条记录后怎样返回创建记录的主键id,last

oracle记录中选择出第一条记录

oracle 怎么得到一个表中连续ID中断开的ID

获取刚刚插入的记录ID?