Tabel temp SQL Server menyimpan data sementara. Anda dapat melakukan operasi yang sama—seperti SELECT, INSERT, DELETE, dan UPDATE—pada tabel sementara seperti yang Anda lakukan pada tabel SQL biasa.
Tabel temp tinggal di database tempdb dan hanya terlihat selama durasi koneksi. Saat Anda mengakhiri koneksi, SQL Server menghapus tabel temp. Anda juga dapat menghapusnya secara eksplisit kapan saja.
Jenis Tabel Temp SQL Server
Ada dua jenis tabel temp SQL Server: lokal dan global.
Tabel Suhu Lokal
Tabel temp lokal hanya dapat dilihat oleh koneksi yang membuatnya. Saat koneksi itu berakhir, atau pengguna terputus dari Server SQL misalnya, tabel temp lokal secara otomatis dihapus.
Untuk membuat tabel temp lokal, gunakan satu simbol hash (#) di awal nama tabel dengan pernyataan CREATE TABLE. Ini sintaksnya.
MEMBUATMEJA#TempTable (
Kolom1 INT,
Kolom2 VARCHAR(50)
);
Misalnya, kode berikut membuat tabel sementara bernama TempCustomer dengan kolom nama dan email.
MEMBUATMEJA#TempPelanggan (
ID int NOT NULL PRIMARY KEY
Nama Lengkap VARCHAR(50),
Email VARCHAR(50)
);
Tabel Suhu Global
Tabel temp global adalah tabel sementara yang dapat dilihat oleh semua koneksi dan pengguna. SQL Server akan menjatuhkannya ketika semua koneksi dan pengguna yang mereferensikan tabel telah terputus.
Untuk membuat tabel temp global, awali nama tabel dengan hash ganda (##) dan gunakan pernyataan CREATE TABLE.
MEMBUATMEJA##TempTable (
Kolom1 INT,
Kolom2 VARCHAR(50)
);
Kode berikut membuat tabel temp global bernama TempCustomer.
MEMBUATMEJA##TempPelanggan (
ID int NOT NULL PRIMARY KEY
Nama Lengkap VARCHAR(50),
Email VARCHAR(50)
);
Kode ini mirip dengan contoh tabel temp lokal, hanya dengan dua simbol hash, bukan satu. Anda sekarang dapat menggunakan perintah SQL standar untuk menambah atau memanipulasi data dalam tabel temp.
Cara Menjatuhkan Tabel Temp
Instance SQL Server secara otomatis menjatuhkan tabel temp ketika semua pengguna yang merujuknya telah terputus. Sebagai praktik terbaik, Anda harus selalu menghapus tabel temp secara eksplisit untuk mengosongkan memori tempdb.
Untuk menghapus tabel temp, gunakan pernyataan DROP TABLE IF EXISTS diikuti dengan nama tabel temp.
Berikut cara menghapus tabel #TempCustomer:
MENJATUHKANMEJAJIKAADA#PelangganTemp
Gunakan kode yang sama tetapi tukar nama tabel untuk menghapus tabel temp global.
MENJATUHKANMEJAJIKAADA##Pelanggan Temp
Penggunaan Khas Tabel Temp SQL
Tabel temp berguna saat Anda perlu menyimpan hasil antara kueri kompleks yang perlu Anda proses lebih lanjut. Misalnya, saat membuat laporan, Anda mungkin perlu membuat tabel sementara untuk menyimpan hasil kueri dari beberapa database. Anda kemudian dapat membuat laporan akhir dengan menjalankan kueri terhadap tabel sementara.
Skenario lain di mana tabel temp berguna adalah saat Anda memerlukan hasil kueri dari satu tabel untuk menjalankan kueri lain. Anda dapat menyimpan hasilnya dalam tabel temp dan kemudian mereferensikannya dalam kueri baru Anda. Pada dasarnya, Anda menggunakan tabel temp sebagai tabel kerja atau buffer untuk menyimpan data yang Anda perlukan untuk melakukan tugas tertentu.
Menggunakan Tabel Temp di SQL Server
Anda dapat menggunakan tabel temp SQL Server untuk menyimpan dan memproses data sementara. Ada dua jenis tabel temp, lokal dan global. Tabel temp lokal dapat dilihat oleh koneksi yang dibuatnya sementara tabel temp global terlihat di semua koneksi.
Tabel temp secara otomatis dimusnahkan saat Anda memutuskan sambungan dari instance server. Namun, untuk menghemat memori, Anda harus selalu membuangnya setelah digunakan.