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

Hvad er forskellen mellem en midlertidig tabel vs global midlertidig tabel i Oracle?

I Oracle er der ingen forskel. Når du opretter en midlertidig tabel i en Oracle-database, er den automatisk global, og du skal inkludere nøgleordet "Global".

SQL-standarden, som definerer, hvordan udtrykket "GLOBAL TEMPORARY TABLE" fortolkes, giver mulighed for enten et LOKALT eller GLOBALt omfang. Dette ville give mulighed for enten en brugerspecifik tabel (LOCAL) eller alle (GLOBAL). Oracle implementerer kun den GLOBAL version.

De data, du lægger i en Oracle Temporary-tabel, er specifikke for din session. Det vil sige, at kun du kan se dine data, selvom der er 100 brugere, der alle bruger den samme tabel, og dine data slettes fra tabellen, når du afbryder forbindelsen (eller når du foretager den aktuelle transaktion), afhængigt af tabelindstillinger.

Sammenlign dette med MS SQL-Server, hvor midlertidige tabeller er lokale. Hvis du opretter en, er der ingen udover dig, der ved, at din midlertidige tabel eksisterer. I Oracle giver oprettelse af den midlertidige tabel alle (godt alle med adgang til dit skema) mulighed for at se tabellen. Når du logger ud af din session, slettes SQL-Server-tabellen og skal genskabes til næste session. I Oracle er den midlertidige tabel nu en permanent del af dit skema, selvom dataene ikke er det.



  1. PostgreSQL 9.1 installation og databasekodning

  2. Sådan indsættes i MYSQL-rækken fra flere $_POST-arrays

  3. Hvordan kan jeg sætte IF ELSE CONDITION i Oracle-forespørgsel?

  4. mysql_fetch_array henter ikke alle rækker