Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle Insert-Abfrage in gespeicherter Prozedur funktioniert nicht, wenn sie von Code Behind aufgerufen wird

Weder Ihre gespeicherte Prozedur noch Ihr Code enthalten COMMIT Vorgang, sodass Ihre Einfügung einfach rückgängig gemacht wird (das Abschneiden von Tabellen kann nicht rückgängig gemacht werden, sodass Sie seine Wirkung trotzdem sehen). Es sieht so aus, als ob Ihr SQL-Editor die Autocommit-Option aktiviert hat, die Verbindungsparameter Ihres Programms jedoch nicht. Sie haben also mehrere Möglichkeiten:

  1. Fügen Sie explizit COMMIT hinzu zu Ihrer gespeicherten Prozedur
  2. Rufen Sie objConn.commit() auf nach Ausführung Ihrer Abfrage.
  3. Legen Sie autocommit fest Option auf Ihrer Verbindung (siehe Details hier ).