Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Globalne tabele temp — SQL Server vs Oracle

Tabele tymczasowe w Oracle są obiektami trwałymi, które przechowują dane tymczasowe, które są lokalne sesji. Tabele tymczasowe w SQL Server są obiektami tymczasowymi.

  1. W SQL Server globalna tabela tymczasowa przechowuje dane, które są widoczne dla wszystkich sesji. „Globalne tabele tymczasowe są widoczne dla każdego użytkownika i dowolnego połączenia po ich utworzeniu”. http://msdn.microsoft.com/en-us/library/ms186986 .aspx
  2. Globalne tabele tymczasowe są nadal obiektami tymczasowymi, które nie są trwałe i mogą wymagać utworzenia przed użyciem. „Globalne tabele tymczasowe są… są usuwane, gdy wszyscy użytkownicy odwołujący się do tabeli odłączają się od wystąpienia programu SQL Server”. http://msdn.microsoft.com/en-us/library/ms186986 .aspx

Uważam, że lokalna tabela tymczasowa lub zmienna tabeli jest najbardziej zbliżona do globalnej tabeli tymczasowej Oracle, duża różnica polega na tym, że musisz ją tworzyć za każdym razem.

Zwykle, w przypadku takim jak twój, krok 3, dodawanie wierszy do tabeli tymczasowej, można wykonać, wykonując select ... into #temp_table_name .... (odpowiednik Oracle create table ... as select ... ) http://msdn.microsoft.com/en-us/library/ ms188029.aspx

Ponadto nie możesz wykonać następujących czynności w przechowywanej procedurze:(pseudokod.)

begin proc
   call another proc to create local temp table.
   use temp table
end proc

Lokalne tabele tymczasowe są niszczone po powrocie z procedury składowanej, która je utworzyła.

Aktualizacja 14.10.2014: Zachowanie lokalnych tabel tymczasowych różni się w wersji programu SQL Server Parallel Data Warehousev. Tabele tymczasowe nie są usuwane przy wyjściu z procedury składowanej, która je utworzyła, i zamiast tego pozostają istniejące przez resztę sesji. To zachowanie zaobserwowano:

select @@version
Microsoft SQL Server 2012 - 10.0.5108.1 (X64) Jun 24 2014 20:17:02 Copyright (c) Microsoft Corporation Parallel Data Warehouse (64-bit) on Windows NT 6.2 <X64> (Build 9200: )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje instrukcja SQL, która podzieli 2 długie kolumny na kilka par kolumn?

  2. Jak zaimportować zrzut Oracle z instancji ec2 do RDS w AWS

  3. Jak pisać małymi literami obiekty w bazie danych Oracle?

  4. ORA-01861:literał nie pasuje do ciągu formatu

  5. Jak mogę naprawić ten błąd:nieobsługiwany SQL92?