T-SQL (MS SQL Server) Stored Procedure ile Arama Fonksiyonu Oluşturulması


CREATE  PROCEDURE sp_kullaniciBul

@USERID int=NULL,
@USERNAME VARCHAR(50)=NULL,
@UNAME VARCHAR(50)=NULL,
@USURNAME VARCHAR(50)=NULL
AS

DECLARE @commandText VARCHAR(500)
— Bir SQL değişkeni tanımlıyoruz
Set @commandText= ‘SELECT * FROM USERS WHERE 1=1 ‘

IF @USERID IS NOT NULL
 SET @commandText = @commandText + ‘  AND USERID = ”’ + @USERID + ””
— USERID parametresi null değilse sorguya ekliyoruz.

IF @USERNAME IS NOT NULL
SET @commandText =@commandText + ‘ AND USERNAME  LIKE  ”%’  + @USERNAME +  ‘%”’
— USERNAME parametresi NULL değil ise sorguya ekliyoruz.

IF @UNAME IS NOT NULL
SET @commandText = @commandText + ‘ AND UNAME  LIKE  ”%’  + @UNAME +  ‘%”’
—UNAME Null değil ise sorguya ekliyoruz.

IF @USURNAME   IS NOT NULL
 SET @commandText = @commandText + ‘  AND USURNAME  LIKE  ”%’  + @USURNAME +  ‘%”’
— USURNAME null değil ise sorguya ekliyoruz.

print @commandText –nasıl bir SQL oluşturduğumuzu yazdırıyoruz.

EXEC(@commandText)
— bir VARCHAR değişkenin içerdiği T-SQL ifadesini çalıştırıyoruz.

–Farklı parametre değerleri ile SP’yi çağırabiliriz:

— sadece ISBN vererek çağıralım
EXEC sp_kullaniciBul @USERID=’1’


— ISBN ve KitapAdi parametreleri ile çağırma
EXEC sp_kullaniciBul @USERID=’1’, @USERNAME=’ramazan’


Ramazan CESUR