oracle 11g - 在oracle 11g数据库中获取标识列的最后一个插入ID的方法是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 11g - 在oracle 11g数据库中获取标识列的最后一个插入ID的方法是什么?相关的知识,希望对你有一定的参考价值。

在oracle 11g数据库中获取标识列的最后一个插入ID的最佳方法是什么?

我尝试过使用以下方法:

  • SEQUENCE对象
  • 手动定义用于获取最后插入的ID值的函数/存储过程

但这些方法似乎都没有对我的用例有用。

请建议其他相同的方法

答案

它可以帮到你吗?

SELECT last_number
  FROM user_sequences
 WHERE sequence_name = '<sequence_name>';

你想得到最后一个序列号或最后插入?

另一答案

我希望这能帮到您

SELECT MAX(column_name)
FROM table_name
WHERE condition;
另一答案

Oracle有一个非常酷的功能,我们可以使用RETURNING子句获取最后插入/更新的数据。希望下面片段有帮助。

CREATE SEQUENCE avr_seq START WITH 1 INCREMENT BY 1;

SET serveroutput ON;
DECLARE
  lv_id PLS_INTEGER;
BEGIN
  INSERT INTO AV_TEST VALUES
    (avr_seq.NEXTVAL
    ) RETURNING TEST INTO lv_id;
  dbms_output.put_line(lv_id);
END;
/
另一答案

如果我完全理解这个问题,那就这样做吧

SELECT max(id_column) from your_table;

以上是关于oracle 11g - 在oracle 11g数据库中获取标识列的最后一个插入ID的方法是什么?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 11g JDBC 预取键

oracle11g和oracle10g的区别

Linux下安装oracle 11g数据库

centos安装oracle 11g 完全图解

如何完全卸载Oracle 11g数据库

oracle 11g 从+DATA迁移到+newdata ASM 磁盘组迁移