T-SQL Batch Kavramı

Batch (toplu işlem), SQL Server’a tek seferde gönderilen ve bir grup olarak yürütülen bir veya daha fazla T-SQL ifadesidir. Batch’ler GO ifadesiyle birbirinden ayrılır ve her batch ayrı ayrı derlenip çalıştırılır.

Her batch ayrı ayrı derlenir.Batch içindeki tüm ifadeler tek bir çalıştırma birimidir. Batch içinde bir hata oluşursa, o noktadan sonraki ifadeler çalışmayabilir.

Değişkenler batch içinde tanımlanır ve o batch içinde kullanılır

DECLARE @toplam INT;
SELECT @toplam = COUNT(*) FROM Musteriler;
PRINT @toplam;
GO
-- @toplam burada artık kullanılamaz

Aşağıdaki ifadede GO ifadesini belirterek çoklu çalıştırabiliriz.

-- Bu INSERT ifadesini 5 kez çalıştır
INSERT INTO LogTablosu (Tarih) VALUES (GETDATE());
GO 5

Aşağıdaki komutların hepsini seçip çalıştırılınca hata mesajıyla karşılaşılır.


-- Batch 1
DECLARE @sayi INT = 10;
PRINT @sayi; -- Çalışır (10 yazar)
GO

-- Batch 2
PRINT @sayi; -- HATA: @sayi tanımlı değil
GO

Önemli Batch Kuralları

  1. CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE SCHEMA, CREATE TRIGGER ve CREATE VIEW ifadeleri bir batch’te tek başına olmalıdır.
  2. Bir tabloyu değiştirdikten hemen sonra yeni şemasını kullanmak istiyorsanız, ALTER TABLE ile kullanım arasında GO koymalısınız.
  3. EXECUTE (EXEC) bir stored procedure’ü çağırırken, procedure batch’teki ilk ifade ise EXEC kelimesini kullanmayabilirsiniz.

Başka makalede görüşmek dileğiyle..

“Kalpler yalnızca Allah’ı anmakla huzur bulur.” Ra’d Suresi; 28. Ayet

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir