Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Tabel Temp Global - SQL Server vs Oracle

Tabel sementara di Oracle adalah objek permanen yang menyimpan data sementara yang merupakan sesi lokal. Tabel sementara di SQL Server adalah objek sementara.

  1. Di SQL Server, tabel temp global menyimpan data yang dapat dilihat oleh semua sesi. "Tabel sementara global dapat dilihat oleh semua pengguna dan koneksi apa pun setelah dibuat." http://msdn.microsoft.com/en-us/library/ms186986 .aspx
  2. Tabel temp global masih merupakan objek sementara yang tidak bertahan selamanya, dan mungkin perlu dibuat sebelum digunakan. "Tabel sementara global ... dihapus ketika semua pengguna yang mereferensikan tabel terputus dari contoh SQL Server." http://msdn.microsoft.com/en-us/library/ms186986 .aspx

Saya menemukan bahwa tabel sementara lokal, atau variabel tabel, adalah yang paling dekat dengan tabel temp global Oracle, perbedaan besarnya adalah Anda harus membuatnya setiap saat.

Biasanya, dalam kasus seperti Anda, langkah 3, menambahkan baris ke tabel temp, akan dilakukan dengan melakukan select ... into #temp_table_name .... (setara dengan Oracle create table ... as select ... ) http://msdn.microsoft.com/en-us/library/ ms188029.aspx

Selain itu, Anda tidak dapat melakukan hal berikut di proc tersimpan:(kode semu.)

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

Tabel temp lokal dihancurkan saat kembali dari prosedur tersimpan yang membuatnya.

Pembaruan 2014-10-14: Perilaku tabel temp lokal berbeda dalam versi SQL Server Parallel Data Warehousev. Tabel sementara tidak dijatuhkan saat keluar dari prosedur tersimpan yang membuatnya, dan sebagai gantinya terus ada selama sisa sesi. Perilaku ini diamati pada:

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. Apakah ada cara lain untuk membuat batasan selama pembuatan tabel SQL?

  2. Oracle PL/SQL:Ekspor Data dari Tabel ke CSV

  3. Skrip Liquibase mengembalikan ORA-01843:bukan bulan yang valid

  4. Oracle Trigger untuk memperbarui tabel yang sama

  5. Mengubah objek menjadi CLOB