Oracle始终获取具有标识的插入行的ID [英] Oracle get id of inserted row with identity always

查看:47
本文介绍了Oracle始终获取具有标识的插入行的ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前我有一个具有这种结构的表:

Currently I have a table with this structure:

CREATE TABLE "DUMMY_SCHEMA"."NAMES"
(
  "ID" NUMBER(10,0) GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1 CACHE 20) NOT NULL 
, "NAME" NVARCHAR2(1024) NOT NULL 
, CONSTRAINT "NAMES_PK" PRIMARY KEY ("ID")
);

在 SQL Server 中,我只需要执行以下操作即可获取插入行的 ID.

In SQL Server I only need to do following to get the Id of the inserted row.

INSERT INTO [NAMES]([NAME])VALUES('Random'); SELECT SCOPE_IDENTITY() Id

Oracle 12c 的等效项是什么?

What would be the equivalent for Oracle 12c?

推荐答案

相当于

INSERT INTO dummy_schema.names (name) VALUES ('Random') 
RETURNING id INTO :myvalue;

获取返回 ID 的机制取决于宿主语言(Java、PL/SQL、SQL*Plus 等).

The mechanism how to pick up the returned ID depends on the host language (Java, PL/SQL, SQL*Plus etc).

这篇关于Oracle始终获取具有标识的插入行的ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆