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

Dichiarazioni DDL di unit test che devono essere presenti in una transazione

Prima di tutto devo dire:pessima idea farlo in questo modo. Per due motivi:

  1. Le connessioni sono basate sull'utente. Ciò significa che perdi in gran parte i vantaggi del pool di connessioni. Inoltre non si ridimensiona molto bene. Se hai 10.000 utenti contemporaneamente, aprirai e chiuderai continuamente connessioni fisse (piuttosto che pool di connessioni soft); e
  2. Come hai scoperto, creare e rimuovere utenti è DDL non DML e quindi perdi "transazionalità".

Non sono sicuro del motivo per cui hai scelto di farlo, ma lo farei fortemente consiglia di implementare gli utenti nell'applicazione e non nel livello del database.

Per quanto riguarda come risolvere il tuo problema, in pratica non puoi. Come se stessi creando una tabella o un indice nel mezzo della sequenza.