sql >> Databáze >  >> RDS >> Oracle

Jaký je rozdíl mezi dočasnou tabulkou a globální dočasnou tabulkou v Oracle?

V Oracle není žádný rozdíl. Když vytvoříte dočasnou tabulku v databázi Oracle, je automaticky globální a musíte zahrnout klíčové slovo „Globální“.

Standard SQL, který definuje, jak je interpretován termín "GLOBAL TEMPORARY TABLE", umožňuje LOCAL nebo GLOBAL rozsah. To by umožnilo buď tabulku specifickou pro uživatele (LOCAL), nebo všechny (GLOBAL). Oracle implementuje pouze verzi GLOBAL.

Data, která vložíte do dočasné tabulky Oracle, jsou specifická pro vaši relaci. To znamená, že svá data vidíte pouze vy, i když stejnou tabulku používá 100 uživatelů a vaše data jsou z tabulky odstraněna, když se odpojíte (nebo když potvrdíte aktuální transakci) v závislosti na nastavení tabulky.

Porovnejte to s MS SQL-Server, kde jsou dočasné tabulky lokální. Pokud nějakou vytvoříte, nikdo kromě vás neví, že vaše dočasná tabulka existuje. V Oracle umožňuje vytvoření dočasné tabulky každému (tedy každému, kdo má přístup k vašemu schématu) vidět tabulku. Když se odhlásíte z relace, tabulka SQL-Server se odstraní a bude nutné ji znovu vytvořit pro další relaci. V Oracle je nyní dočasná tabulka trvalou součástí vašeho schématu, i když data nejsou.



  1. Jakou funkci použít k hašování hesel v MySQL?

  2. Django resetoval automatické zvýšení pole pk/id pro produkci

  3. mysql více dotazů v jednom příkazu

  4. Ekvivalentní funkce pro DATEADD() v Oracle