Tabel sementara di Oracle adalah objek permanen yang menyimpan data sementara yang merupakan sesi lokal. Tabel sementara di SQL Server adalah objek sementara.
- 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
- 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: )