我想要获取一个带有自增长ID列的新插入记录的ID (使用序列和触发器方法)。请问标准的做法是什么?
使用 PL/SQL 的 RETURNING
子句:
insert into mytable (...) values (...)
returning id into v_id;
使用results.lastRowid在同一张表上进行查询,例如 "SELECT * FROM YOUR_TABLE WHERE ROWID = :lastRowid"。
lastRowid的样式类似于 "AAAS/tAAFAAAA/QAAB"。
. . .
const result = await connection.execute(
`INSERT INTO mytable (mydata) VALUES ('Hello') RETURN myid INTO :id`,
{id : {type: oracledb.NUMBER, dir: oracledb.BIND_OUT } }
);
console.log(result.outBinds.id); // print the ID of the inserted row
execute immediate
吗? - Akshayexecute immediate 'insert into mytable (...) values (...) returning id into :retval' using out v_id;
- Tony Andrews