Oracle插入返回

乌尔波

我正在尝试在插入后返回ID:

CREATE SEQUENCE seq_osobne_udaje
INCREMENT BY 1 START WITH 1;

CREATE OR REPLACE TRIGGER trig_osobne_udaje_seq
BEFORE INSERT ON osobne_udaje
FOR EACH ROW
BEGIN
  SELECT seq_osobne_udaje.nextval INTO :new.id FROM dual;
END;
/

接着:

var tmp number;

insert into osobne_udaje(name,sur,born,is_man) 
values('Jacob','Wulp',to_date('28.07.1992','DD.MM.YYYY'),'Y') 
returning id into tmp;

但它在插入行中写入异常:SQL错误:ORA-00905:缺少关键字

MT0

该脚本可在SQL Developer中使用:

DROP TRIGGER trig_osobne_udaje_seq;
DROP SEQUENCE seq_osobne_udaje;
DROP table osobne_udaje;

create table osobne_udaje(
  id NUMBER,
  name VARCHAR2(20),
  sur  VARCHAR2(20),
  born DATE,
  is_man CHAR(1)
)
/

CREATE SEQUENCE seq_osobne_udaje
INCREMENT BY 1 START WITH 1;
/

CREATE OR REPLACE TRIGGER trig_osobne_udaje_seq
BEFORE INSERT ON osobne_udaje
FOR EACH ROW
BEGIN
  :new.id := seq_osobne_udaje.nextval;
END;
/

var tmp number;
/

BEGIN
  insert into osobne_udaje(name,sur,born,is_man) 
  values('Jacob','Wulp',to_date('28.07.1992','DD.MM.YYYY'),'Y')
  returning id into :tmp;
END;
/

print tmp;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

coldfusion cfquery返回插入的oracle rowid

来自分类Dev

在Oracle中插入后返回标识列的值

来自分类Dev

是否可以在插入时作为选择语句返回主键-Oracle?

来自分类Dev

Oracle SQL插入单行子查询返回多个行

来自分类Dev

Oracle:使用select插入不会返回批量收集新插入的id

来自分类Dev

Coldfusion / Oracle-插入的BLOB值返回空字符串

来自分类Dev

CX_Oracle使用绑定变量/函数插入数据并返回记录ID

来自分类Dev

mybatis 是否允许在 oracle 中插入所有并返回序列(useGenerateKeys)?

来自分类Dev

插入并返回子查询

来自分类Dev

SQLiteDatabase插入返回-1

来自分类Dev

返回插入的子文档

来自分类Dev

插入行返回错误

来自分类Dev

oracle使用DBlink插入

来自分类Dev

Oracle阻止重复插入

来自分类Dev

多次插入SQL oracle

来自分类Dev

Oracle:插入表类型

来自分类Dev

Oracle并发插入

来自分类Dev

错误插入到oracle

来自分类Dev

在Oracle中并行插入

来自分类Dev

使用 Oracle 批量插入

来自分类Dev

无法插入 Oracle 表

来自分类Dev

插入语句 Oracle

来自分类Dev

如何在oracle 10g数据库中插入并返回使用存储过程生成的ID

来自分类Dev

Dapper多重插入返回插入的对象

来自分类Dev

使用Java将插入的行插入Oracle

来自分类Dev

插入从函数返回的std :: vector

来自分类Dev

SQLiteDatabase插入函数返回-1

来自分类Dev

插入后返回多个值

来自分类Dev

返回最后插入的ID序列