Oracle始终获取具有标识的插入行的ID
Oracle get id of inserted row with identity always
目前我有一个 table 这种结构:
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服务器中,我只需要执行以下操作即可获取插入行的ID。
INSERT INTO [NAMES]([NAME])VALUES('Random'); SELECT SCOPE_IDENTITY() Id
Oracle 12c 的等效项是什么?
相当于
INSERT INTO dummy_schema.names (name) VALUES ('Random')
RETURNING id INTO :myvalue;
获取返回 ID 的机制取决于宿主语言(Java、PL/SQL、SQL*Plus 等)。
目前我有一个 table 这种结构:
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服务器中,我只需要执行以下操作即可获取插入行的ID。
INSERT INTO [NAMES]([NAME])VALUES('Random'); SELECT SCOPE_IDENTITY() Id
Oracle 12c 的等效项是什么?
相当于
INSERT INTO dummy_schema.names (name) VALUES ('Random')
RETURNING id INTO :myvalue;
获取返回 ID 的机制取决于宿主语言(Java、PL/SQL、SQL*Plus 等)。