Oracle始终获取具有标识的插入行的ID [英] Oracle get id of inserted row with identity always
本文介绍了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屋!
查看全文