SQL Server’da Geçici Stored Prosedürler

Herkese merhaba,

Bu yazıda SQL Server’da geçici stored prosedürler hakkında bilgi vereceğim.

Bazılarınızın geçici stored prosedürde nedir ya da geçici stored prosedürde mi varmış dediğini duyar gibiyim.

Aslına bakarsanız proje içinde hiç kullanmadım fakat konu hakkında bilginiz olması açısından böyle bir yazıyı yazmak istedim.

Geçici stored prosedürlerin çalışma prensibi geçici tabloların çalışma şekline çok benzer. Lokal ve global geçici stored prosedürler oluşturabilirsiniz.

Lokal geçici stored prosedürlerin kapsamı, onu oluşturan bağlantıyla sınırlıdır. Bağlantı kapandığında prosedür kaldırılmış olur. Global geçici stored prosedürler işlem var olduğu sürece tüm SQL Server bağlantıları tarafından kullanılabilir. Prosedürü kullanan son bağlantı kapatıldığında, prosedür kaldırılır.

Geçici tablolar gibi geçici stored prosedürler de TempDB veritabanında oluşturulur.

Lokal geçici stored prosedür oluşturmak için stored prosedür adından önce (#) işareti kullanmanız gerekir. Global geçici stored prosedür oluşturmak için, prosedür adı öncesinde iki adet (#) işareti kullanmanız gerekir. Geçici stored prosedür adı, genel geçici stored prosedürler için 128 karakteri (## dahil) ve lokal geçici stored prosedür için 116 karakteri (# dahil) aşamaz.

Aşağıdaki örnek kullanımları inceleyebilirsiniz.

-- Lokal geçici stored prosedür oluşturmak 

CREATE PROCEDURE #Temp_Lokal
AS
SELECT @@spid;

-- Global geçici stored prosedür oluşturmak

CREATE PROCEDURE ##Temp_Global
AS
SELECT @@spid;

--Çalıştırılması 

EXEC #Temp_Lokal;

EXEC ##Temp_Global;

Yukarıdaki kodları seçtiğiniz veritabanı üzerinde oluşturup çalıştırdığınız zaman aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Geçici Stored Prosedürler

İnternette çeşitli yazılarda, yorumlarda  geçici stored prosedürlerin kullanılması gerekip gerekmediği konusunda farklı fikirler bulabilirsiniz. Bazı insanlar, kalıcı stored prosedürlerin yeterli olmayacağı bir kullanım durumunun olmadığını söylerler.

Aslına bakarsanız geçici stored prosedürler kalıcı, gereksiz nesneler oluşturmak istenmediği durumlarda çok kullanışlı olabilir.

  • Bazı işlemleri test etmek ve çözüm önerilerini denemek için.
  • Hedef veritabanını etkilemek istemediğimiz durumlarda kullanılabilir.

Umarım faydalı bir yazı olmuştur.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

78 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

Aşağıdaki Yazılar da İlginizi Çekebilir

Yazı kopyalamak yasaktır!