Oracle
 sql >> Database >  >> RDS >> Oracle

La query Oracle Insert nella procedura memorizzata non funziona quando viene chiamata dal codice dietro

Né la procedura memorizzata né il codice contengono COMMIT operazione, quindi il tuo inserimento torna indietro (il troncamento della tabella non può essere annullato, quindi ne vedi comunque l'effetto). Sembra che il tuo editor SQL abbia l'opzione di autocommit attiva, ma i parametri di connessione del tuo programma no. Quindi, hai diverse opzioni:

  1. Aggiungi COMMIT esplicito alla tua procedura memorizzata
  2. Chiama objConn.commit() dopo aver eseguito la tua richiesta.
  3. Imposta autocommit opzione sulla tua connessione (vedi dettagli qui ).