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");

Antworten auf die Frage(6)

Ihre Antwort auf die Frage