SQL’de Dinamik Uniqueidentifier Kullanımı

Merhaba arkadaşlar dinamik SQL Uniqueidentifier kullanmaya çalışırken aşağıdaki hata kodu ile karşılaştım ve çözümünü de aşağıda sizlerle paylaşıyor olacağım. Aşağıdaki belirttiğim hatayı select sorgusunda uniqueidentifier şartı ile listeyi getirmeye çalışırken aldım. Aslında hatanın çözümü çok basit olmakla beraber büyük bir iş yükünden bizleri kurtarmaktadır.

Hata Kodu: Msg 402, Level 16, State 1, Procedure spGetNews, Line 11
The data types nvarchar(max) and uniqueidentifier are incompatible in the add operator.

Çözümü:

create proc spGetNews
@ID uniqueidentifier
as
begin
      declare @query nvarchar(MAX) = '';
      set @query ='select * from News where ID=@I'
      exec sp_executesql @query,N'@I uniqueidentifier',@I=@ID
end
GO

*Prosedürümüzü de aşağıdaki gibi çalıştırarak test edebiliriz.

exec spGetNews '37FEDB7B-1EB7-4C9E-A74C-0000840C13D7'

Bir başka makalede görüşmek dileğiyle…

Sedat Demirdoğan

Click to rate this post!
[Total: 1 Average: 5]

Sedat Demirdoğan

-Yazılım Sınıfı Kurucusu -Global Bilişim Derneği Kurucu Üye -Bilişim Grubu Kurucu Üye -Jolly Tur BT Proje ve İş Geliştirme Departman Müdürü

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.