PLSQL JDBC: Wie erhalte ich die letzte Zeilen-ID?
Was ist PLSQL (Oracle) -Äquivalent zu diesem SQL Server-Snippet?
BEGIN TRAN
INSERT INTO mytable(content) VALUES ("test") -- assume there's an ID column that is autoincrement
SELECT @@IDENTITY
COMMIT TRAN
In C # können Sie myCommand.ExecuteScalar () aufrufen, um die ID der neuen Zeile abzurufen.
Wie kann ich eine neue Zeile in Oracle einfügen und JDBC eine Kopie der neuen ID abrufen lassen?
BEARBEITENBalusC bot einen sehr guten Ausgangspunkt. Aus irgendeinem Grund mag JDBC die Bindung von benannten Parametern nicht. Dies gibt die SQLException "Falsch eingestellte oder registrierte Parameter". Warum passiert dies
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");