Ich muss einige Code aktualisieren und als Teil davon muss ich eine Zeile in eine Tabelle einfügen und die ID erhalten (Primärschlüssel) der gerade eingegebenen Zeile.VB.NET Oracle SQL "INSERT INTO" mit "RETURNING INTO" gibt ORA-00933 Befehl nicht ordnungsgemäß beendet
Haben Sie dies erforscht und ich glaube, ich sollte RETURNING INTO und Oracle-Parameter verwenden. Ich habe Parameter in der Vergangenheit erfolgreich verwendet, um Werte einzufügen.
Ich habe eine INSERT-Anweisung, die perfekt von VB.NET läuft, aber sobald ich den Text „“ RÜCKKEHR id INTO: myid“add ich ORA-00933-Befehl nicht richtig Ended
hier ein ist. Version des Codes
sql = "INSERT ... RETURNING id INTO :myId"
Connect()
Dim intRecsAffected As Integer = 0
Dim comm As OracleCommand = New OracleCommand(sql, _conn)
Dim param As OracleParameter
param = New OracleParameter()
param.ParameterName = ":myId"
param.OracleDbType = OracleDbType.Int32
param.Direction = ParameterDirection.Output ' Tried ReturnValue
comm.Parameters.Add(param)
intRecsAffected = comm.ExecuteNonQuery()
id = comm.Parameters(":myId").Value
Disconnect()
Irgendwelche Ideen
Es ist etwas falsch mit Ihrem SQL, aber da Sie es nur teilweise zeigen, kann nicht wirklich helfen. Bitte posten Sie die vollständige sql. – sstan
RETURNING INTO ist PL/SQL-Syntax, nicht SQL, daher müssen Sie einen anonymen PL/SQL-Block verwenden (Umbruch in BEGIN und END) –