GO Komutunun Kullanimi – GO Komutunu Kullanarak Bir Sorgu Birden Fazla Nasil Çalistirilir

GO Komutunun Kullanimi

Go komutu bir T-SQL ifadesi degildir, fakat TSQL kodlarinda sikça kullanilir. GO komutu öncesinde yazilmis olan tüm sql ifadelerini veya bir önceki GO ifadesine kadar olan tüm sql ifadelerini tek bir execution plan dahilinde SQL Servera gönderir. SQL Server GO komutunu scripti servera göndermek için bir isaret olarak algilar.

Go komutu T-SQL ifadesi olmadigi için yeni bir satirda tek basina yazilir , ayni satirda sadece açiklama satiri yer alabilir.

GO komutunun kullanimi ile ilgili basit bir örnek

DECLARE @Mesaj VARCHAR(30)
SELECT @Mesaj = 'Yazilim Mutfagi.'
GO -- @Mesaj degiskeni GO komutundan sonra geçerliligini kaybeder.

.

Dikkat edilmesi gereken noktalar:

  • GO komutu diger T-SQL komutlari ile ayni asatirda kullanilamaz
  • GO komutundan önce tanimlanan bir degisken GO komutundan sonra kullanilamaz. Çünkü daha önceki kod yigininin sona erdigini belirtmektedir.
  • Kodun sonunda GO kullanilmadigi veya tüm sorgu bitmedigi sürece komutlar sunucuya gönderilmez.

GO Komutunun Çok Bilinmeyen Kullanim Yöntemi

GO komutu kendisinden önce yazilan sql sorgusunu sonlandirip servera gönderir dedik. Peki bunu sadece bir kezmi yapabilir. GO komutundan sonra bir sayi belirterek birden fazla ayni sorguyu çalistirabiliriz.

Asagidaki örnekte görebileceginiz gibi GO komutu ile önceki sorguyu 10 kez çalistirarak tablomuza 10 adet insert islemi yapmis olduk.

CREATE TABLE #tablo (deger BIGINT)
INSERT INTO #tablo(deger) SELECT 1
GO

INSERT INTO #tablo(deger) SELECT SUM(deger) FROM #tablo
GO 10

SELECT * FROM #tablo

Yukaridaki sorgu sonucu tablomuzdaki veriler asagidaki gibi oldu.

deger
1
1
2
4
8
16
32
64
128
256
512

.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir