【问题标题】:Get ID of last inserted record in oracle db获取oracle db中最后插入记录的ID
【发布时间】:2011-03-09 01:07:14
【问题描述】:

我想使用自动递增的 id 列检索新插入记录的 id(使用序列和触发器方法)。执行此操作的标准方法是什么?

【问题讨论】:

    标签: oracle


    【解决方案1】:

    使用 PL/SQL RETURNING 子句:

    insert into mytable (...) values (...)
    returning id into v_id;
    

    【讨论】:

    • 这仅在 PL/SQL 中有效吗?使用常规 SQL 时出现语法错误。
    • 是的,它只是 PL/SQL
    • 可以在execute immediate使用吗?
    • @akshay 是:execute immediate 'insert into mytable (...) values (...) returning id into :retval' using out v_id;
    • 这不适用于使用 select 插入,因为可能插入超过 1 行。我仍在寻找一种方法来获取最近插入的 id。也许我可以从序列中得到它。
    猜你喜欢
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 2020-02-06
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多