Oracle始终获得具有标识的插入行的ID

时间:2018-06-26 19:55:20

标签: sql oracle plsql oracle12c dml

目前,我有一个具有以下结构的表:

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。

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

Oracle 12c相当于什么?

1 个答案:

答案 0 :(得分:3)

相当于

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

如何获取返回的ID的机制取决于主机语言(Java,PL / SQL,SQL * Plus等)。