Stored procedure Ekle Sil Güncelle Örnekleri – 1

Merhaba, Msql – T-SQL Stored Procedure nasıl kullanabileceğimizi örneklendirilerek anlatmaya çalışacağım. Eğer ilk defa tanışıyorsanız Stored Procedure Nedir Makalemi göz atabilirsiniz.

Bir tane MUSTERI adında tablo oluşturayım. Bir tanesi birincil anahtarı olan MusteriNo Sayısal veri tipi olan INT tanımlıyorum. Ad ve Soyad ise metin veri tipi nvarchar olarak tanımlıyorum.

CREATE TABLE  MUSTERI  (
MusteriNo INT PRIMARY KEY IDENTITY (1,1),
Ad NVARCHAR(50),
Soyad NVARCHAR(50)
)

Şimdi Musteri tablosuna her seferi INSERT Sorgusunu yazmak yerine şablonu hazırlayalım. Bundan sonra hızlıca insert işlemi yapabileyim.

Stored Procedure hazırlamak

CREATE PROCEDURE MusteriKayitEkle
	 @Ad NVARCHAR(50),
	 @Soyad NVARCHAR(50) 

AS
BEGIN
	INSERT INTO MUSTERI (Ad,Soyad) VALUES (@Ad,@Soyad) 
END

İlk Sp oluşturduğumuza göre bunu nasıl kullanabileceğimizi bakalım.

exec MusteriKayitEkle @Ad='BT',@Soyad='Omer'

Şimdi kayıt eklendiğine göre tabloya bakalım

SELECT * FROM MUSTERI

Harika şimdi müşteriye selamlayalım.

CREATE PROCEDURE MusteriyiSelamla
	 @MusteriNo	INT
AS
BEGIN
DECLARE @Ad NVARCHAR(50), @Soyad NVARCHAR(50)  
	SELECT @Ad=Ad , @Soyad=Soyad FROM MUSTERI WHERE MusteriNo=@MusteriNo
	PRINT 'Merhaba '+@Ad+' '+@Soyad+' Btomer sayfama hoşgeldiniz.'
END

Şimdi işlem tipine göre güncelleme veya silme işlemi yapalım

CREATE PROCEDURE MusteriSilveyaGuncelle
	 @MusteriNo INT,
	 @Ad NVARCHAR(50) = '', 
	 @Soyad NVARCHAR(50) = '',
	 @IslemTipi INT = 0 --Standart "0" olarak atamasını yapıyorum.
--0:Güncelle
--1:Sil 
AS
BEGIN
	IF @IslemTipi = 0 
		BEGIN
			 IF(@Ad ='' or @Soyad='')
				BEGIN
					PRINT 'Ad ve Soyad Boş olamaz!'
					RETURN 
				END
			UPDATE M SET Ad=@Ad,Soyad=@Soyad FROM MUSTERI M WHERE MusteriNo = @MusteriNo
			PRINT 'Güncelleme yapıldı.'
		END
	ELSE IF @IslemTipi = 1
		BEGIN
		  DELETE FROM MUSTERI WHERE MusteriNo=@MusteriNo
		  PRINT 'Musteri Kaydı silindi.'
		END
	ELSE
		PRINT 'Yapılabilecek bir işlem bulunmuyor'

END

IF ELSE Konuyu pekiştirmek isterseniz IF ELSE Eğer-Değilse Kullanımı Teorik Anlatım Makelemi göz atabilirsiniz.

Bu kadar yazdığınız sorgular daima çalışması dileğimle…

Leave a Reply