Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 10

T-SQL’de Stored Procedure

Kullanımı
• Bir önceki derste Stored Procedure (Saklı Yordamlar) ile ilgili genel
bilgiler verdik. Bu derste ise T-SQL’de Saklı Yordamların kullanımını
inceliyor olacağız.
• Örnek: Stok miktarı 50'nin altında kalan ve kategorisi 1 olan ürünleri
listeleyen bi
• r SP yazalım.
• İlgili SP çalıştırıldığında sol tarafta bulunan Object Explorer kısımında
Stored Procedure sekmesi altına StokDurumu isminde bir SP eklenir.
Şimdi bu prosedürün nasıl kullanılacağına bakalım:
Exec StokDurumu;
• Çalıştırdığımızda ilgili SP çalışacak ve sonuçlar listelenecektir.
• Daha önce bahsetmiş olduğum ALTER ve DROP komutları prosedürler içinde
geçerlidir. Bir prosedürü düzenlemek için ALTER komutunu kullanırız:
ALTER PROCEDURE StokDurumu
AS
SELECT * FROM Products
WHERE UnitsInStock <60 AND CategoryID=2
• Bir prosedürü silmek içinse DROP komutunu kullanırız:
DROP PROC StokDurumu
GO
SP’de Parametre Kullanımı
• Saklı Yordamlara işlevsellik katmak için kullanılır. Parametre değerine
göre çok amaçlı olarak kullanılabilir. Örneğimizi inceleyelim:
Use Northwind
GO
CREATE PROCEDURE IletisimUnvani
@ContactTitle nvarchar(50) = 'Product Manager'
AS
SELECT CompanyName,Phone FROM Suppliers
WHERE ContactTitle = @ContactTitle
GO
• SP'yi çalıştırdığımızda Product Manager'a ait iletişim bilgileri döner. Biz farklı unvana sahip birisinin bilgisini çekmek istersek
şu şekilde kullanabiliriz.
exec IletisimUnvani @ContactTitle = 'Owner’;

Bu komut ile işletme sahibinin bilgilerini çekmiş oluruz.


İşimize Yarayacak Bazı Saklı Yordamlar
• p_rename prosedürü:
• SQL'de nesnelerimizin adlarını değiştirmek için sp_rename sistem prosedürünü kullanırız.
• Söz dizimi:
exec sp_rename @object_name, @new_object_name, @object_type
• Tablo Adı Değiştirmek:
SELECT object_id('Isimler')
exec sp_rename 'Isimler','Adlar';
• Kolon Adını Değiştirmek:
• Kolonlar, sysobjects'de yer almazlar ve birer db objesi değildirler. Tablo ismi olmadan tek başlarına bir anlam
ifade etmezler. x tablosunun y kolonu diye saklanır ve çağırılırlar. Bu yüzden kolonların isimlerini değiştirirken
tablo adını ayrıca tipini belirtmemiz gerekmektedir.
exec sp_rename 'Adlar.TCKimlik','Kimlik','COLUMN'
• Index Değerinin Değiştirilmesi:
exec sp_rename 'Adlar.IsimID','AdID','INDEX'
sp_help prosedürü:
• Sistemde bulunan bir tablo hakkında bilgi almak için kullanılır.
• Söz dizimi:
EXEC sp_help '@objname'
• Bütün nesneler hakkında bilgi almak;
USE Northwind
exec sp_help
• Sadece istenilen obje hakkında bilgi almak için;
USE Northwind
exec sp_help 'Employees'
Hata görüntületme
CREATE PROC sp_ciftsayininkaresi
@sayi INT
AS
BEGIN
IF(@sayi%2!=0)
BEGIN
RAISERROR ('Girilen sayı çift sayı değil..',10,1)
END
ELSE
PRINT @sayi*@sayi
END

exec sp_ciftsayininkaresi 3;
--Girilen sayı çift sayı değil..

You might also like