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

Hvordan kan jeg se, om jeg har uforpligtende arbejde i en Oracle-transaktion?

Hvis du ikke har adgang til v$session, kan du bruge

select dbms_transaction.local_transaction_id from dual;

Dette virker kun inde fra sessionen, men kræver ikke v$-privilegier. Hvis det returnerer en ikke-nul, har du startet en transaktion. Det betyder normalt uforpligtende ændringer, men der er undtagelser. Hvis du udstedte et lagringspunkt, ændrede data og rullede tilbage til lagringspunktet, 'lever' transaktionen stadig. Brug af databaselinks starter også transaktioner, selv bare for udvalgte (eller de plejede).



  1. Arbejde med datoer i PostgreSQL

  2. Evaluering, når et udtryk i en forespørgsel evalueres

  3. GRUPPER EFTER med MAX(DATE)

  4. Forhindrer JDBC-specifikationen '?' fra at blive brugt som operator (uden for anførselstegn)?