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

问题描述 投票:-1回答:4

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

我尝试过使用以下方法:

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

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

请建议其他相同的方法

sql database oracle11g
4个回答
0
投票

它可以帮到你吗?

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

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


0
投票

我希望这能帮到您

SELECT MAX(column_name)
FROM table_name
WHERE condition;

0
投票

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;
/

0
投票

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

SELECT max(id_column) from your_table;
© www.soinside.com 2019 - 2024. All rights reserved.