Gunakan tabel sementara

Selesai

Anda dapat menggunakan Transact-SQL untuk membuat tabel sementara. Tabel sementara datang dalam dua tipe:

  • Tabel sementara lokal
  • Tabel sementara global

Buat tabel sementara lokal

Gunakan tabel sementara lokal untuk membuat tabel yang disesuaikan dengan sesi Anda saat ini. Ini berarti bahwa tabel sementara Anda hanya dapat dilihat oleh Anda, dan saat sesi selesai, tabel tersebut tidak ada lagi. Beberapa pengguna dapat membuat tabel menggunakan nama yang sama, dan tabel tersebut tidak akan berpengaruh satu sama lain.

Untuk membuat tabel sementara lokal, Anda menggunakan pendekatan yang sama seperti saat membuat tabel biasa. Namun, Anda akan menambahkan # sebelum nama tabel untuk menandakan bahwa itu adalah tabel sementara lokal:

CREATE TABLE #Products (
    ProductID INT PRIMARY KEY,
    ProductName varchar,
    ...
);

Buat tabel sementara global

Anda juga dapat membuat tabel sementara global. Tabel sementara global dapat diakses di semua sesi. Tetapi ini berarti bahwa tabel sementara global harus memiliki nama yang unik, tidak seperti tabel sementara lokal. Tabel sementara global dijatuhkan secara otomatis saat sesi yang membuatnya berakhir, dan semua tugas yang merujuknya di semua sesi juga telah berakhir. Anda membuat tabel sementara global dengan cara yang sama seperti membuat tabel sementara lokal, kecuali Anda akan menggunakan ## alih-alih # tunggal yang menetapkannya sebagai tabel global meja sementara:

CREATE TABLE ##Products (
    ProductID INT PRIMARY KEY,
    ProductName varchar,
    ...
);

Masukkan dan baca data dari tabel sementara

Anda dapat memasukkan data ke dalam tabel sementara (baik lokal maupun global) menggunakan pendekatan yang sama seperti tabel biasa, menggunakan INSERT. Anda hanya perlu memastikan untuk menambahkan # atau ## ke nama tabel. Misalnya:

INSERT #Products (ProductID, ProductName, ProductDescription)  
    VALUES (1, 'The temporary time leap', 'A novel about temporary time leaping.');  

Anda juga dapat mengambil hasil dari tabel sementara menggunakan SELECT. Misalnya, untuk mengambil semua baris dan kolom untuk tabel sementara #Products Anda, dan mengurutkan hasil menurut nama produk, Anda akan menjalankan:

SELECT *  
FROM #Products  
ORDER BY ProductName;