Sanal bir tablo oluşturmaya yarar. Başka tablolardan çektiğiniz verileri, programınızdan stored procedure gönderdiğiniz değişkenleri burada tablo haline dönüştürebilirsiniz. Tablo işlemlerini (SELECT, WHERE LIKE vb.), oluşturduğunuz sanal tablo üzerinde de kullanabilirsiniz.
Sanal tablolar, kod tamamlanınca otomatik olarak kaybolur. Ya anlık olarak programa veri döndürerek içindeki verileri kullanırsınız ya da OUTPUT işlemi ile gerçek tabloya ekleme yaparsınız.
DECLARE @online_users TABLE (id INT, online_user_id int, close_time DATETIME) INSERT @online_users VALUES (1, 2, '06/11/2019 23:36:12') , (2, 1, '06/11/2019 23:55:14') , (3, 3, '07/11/2019 00:32:11') ; SELECT * from @online_users
Yukarıdaki tabloda oturumları otomatik kapatılacak olan kullanıcılar için kabaca bir tablo oluşturmuş oldum.
Yukarıdaki tabloyu kaydetmek için OUTPUT işlemi kullanım örneği, ders notlarının sisteme girilmesi .
DECLARE @temp_table table( ders_kodu smallint, ders_adi nvarchar(50), sinav_notu smallint, sinav_tarihi datetime ) INSERT INTO @temp_table (ders_kodu, ders_adi, sinav_notu, sinav_tarihi) VALUES(101, 'Mühendisliğe Giriş', 92, '07/11/2019 10:00:00') INSERT INTO @temp_table (ders_kodu, ders_adi, sinav_notu, sinav_tarihi) VALUES(102, 'Mühendislik Etiği', 98, '07/11/2019 11:30:00') INSERT INTO DummyDers OUTPUT inserted.bolum_kodu, inserted.bolum_adi, inserted.grade, inserted.sinav_tarihi SELECT * FROM @temp_table SELECT * FROM DummyDers
Output yazdıktan sonra inserted ile eklemeyi unutmayın.
