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