什么是与此SQL服务器片段等效的PLSQL(Oracle)?
BEGIN TRAN
INSERT INTO mytable(content) VALUES ("test") -- assume there's an ID column that is autoincrement
SELECT @@IDENTITY
COMMIT TRAN
在C#中,您可以调用myCommand。来检索新行的ID。如何在Oracle中插入新行,并让JDBC获得新id的副本?
BalusC提供了一个很好的起点。出于某种原因,JDBC不喜欢命名参数绑定。这会提供“Incorrectly set or registered parameters”SQLException。为什么会发生这种事?
OracleConnection conn = getAppConnection();
String q = "BEGIN INSERT INTO tb (id) values (claim_seq.nextval) returning id into :newId; end;" ;
CallableStatement cs = (OracleCallableStatement) conn.prepareCall(q);
cs.registerOutParameter("newId", OracleTypes.NUMBER);
cs.execute();
int newId = cs.getInt("newId");
相似问题