PL/SQL’de Stored Procedure Yazmak

SQL dilinde sıklıkla kullandığımız komutları, tekrar tekrar yazmaktan kurtulmak için procedure yazmamız gerekir. Procedureler de yine SQL diliyle yazdığım 2-3 satırlık kodlardan ibaret.

SQL veritabanı dili aracılığıyla stored procedure yazmak istersek, aşağıdaki gibi komutlar kullanmamız gerekecek.

Bir örnek vermek gerekirse, bir firmada bulunan çalışanların aylık adları ve aylık maaşlarının bulunduğu bir PERSONEL adlı tablomuz olsun elimizde.

Adı Maas
Ahmet Aksaç 1500
Can Atak 1200
Ayten Hızır 2000

Normal durumlarda SQL ile maaşı 1500 liradan büyük olanları şu şekilde getirirdik;

Kod:

SELECT name, maas FROM PERSONEL WHERE maas > '1500'
Bu sorguyu eğer sık kullanıyorsak, aşağıdaki gibi yalnızca tek bir sefer oluşturulacak procedure ile basitçe çalıştırabiliriz. Procedure oluşturmak için;

Kod:

CREATE PROCEDURE procedure_name
AS
[
SELECT name, maas FROM PERSONEL WHERE maas > '1500'
]
GO

Artık maaşı 1500 liradan yüksek olan personeli getirmek için sadece procedure çağırmamız yeterli olacak.

Kod:

EXEC procedure_name
Yukarıda görmüş olduğunuz tek satırlık kod bize şu sonucu verecek:

Ayten Hızır 2000

Eğerki parametreli procedure çağırmak istersek, bir değişken tanımlarız ve değişkenin türünü de belirtiriz (int, char..vs). Procedure kurulumunu da şu şekilde yapmamız gerekir:

Kod:

CREATE PROCEDURE procedure_name
AS
@variable_name int(4)
[
SELECT name, maas FROM PERSONEL WHERE maas > @variable_name
]
GO

Bu procedure için çalıştırırken;

Kod:

EXEC procedure_name 1500
yazdığımız zaman, yine bize maaşı 1500 liradan fazla olan personeli, yani Ayten Hızır’ı getirecektir.