SQL Server Context_Info Fonksiyonu

Herkese merhaba,

Bu yazıda size SQL Server Context_Info Fonksiyonundan bahsedeceğim.

SQL Server’da Context_Info fonksiyonu geçerli oturum için ayarlanan Context_Info değerini döndüren bir fonksiyondur. Bu değer Set Context_Info ile atanır. Örnek kullanımı inceleyelim.

SET CONTEXT_INFO 0x1256698456;  
GO  
SELECT CONTEXT_INFO();  
GO  

Her ne kadar çok sade olarak anlatsam da çok kullanışlı bir yapıdır. Kullanım şekillerine örnek verelim.

  1. Bir tabloya sadece belirlediğimiz prosedür üzerinden insert yapılmasını sağlayabiliriz
  2. Prosedür, Fonksiyon veya Trigger gibi bir nesne içerisinde kullanıcı tanımlı yönlendirme yapabiliriz.

Konuyu anlamak adına aşağıda yaptığım ek örneğide inceleyin.

--Tanımlamaları yapıyoruz. Toplama işlemi yapılacak

DECLARE @IslemYap varbinary(128)
SELECT @IslemYap = CAST('ToplamaIslemi' as varbinary(128))

--Context_Info tanımlamasını yapıyoruz.

DECLARE @Kontrol varbinary(128)
SET @Kontrol = CONVERT(varbinary(128), 'ÇarpmaIslemi')
SET CONTEXT_INFO @Kontrol

--Girilen tanımlama doğru ise çalışacak yanlış ise çalışmayacak

     IF @IslemYap = @Kontrol  
	   BEGIN

	   PRINT 'Doğru çalıştı'

	   END
	ELSE
      BEGIN

	   PRINT 'Yanlış çalıştı'

	  END

Yukarıda ilk olarak IslemYap adında bir değişken tanımlaması yaptık. Bu tanımlamayı varbinary(128)’e cast ettik yani dönüştürdük ve gerekli değeri set ettik. Sonrasında Kontrol adında bir değişken oluşturduk. Bu değişken içerisine değerimizi set ettik. Daha sonra bu değişkeni kontrol değişkeni olarak atadık. Bu işlemi yaparken Context_Info fonksiyonunu kullandık. Eğer IslemYap değişkeni kontrol değişkenimiz ile eşleşiyorsa doğru çalıştı yazacak değilse yanlış çalıştı yazacak.

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

271 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.

You may also like...

Yazı kopyalamak yasaktır!