PL/SQL Programlama — 5 — Procedures (Prosedürler)
Prosedür, parametre alabilen fakat geriye bir değer döndürmeyen alt programlardır. Bu bölümde aşağıdaki kısımları inceleyeceğiz:
- Prosedür Oluşturma.
- Prosedür Çağırma.
- Prosedür Bilgisi Alma.
- Prosedür Silme.
Prosedür Oluşturma
Bir prosedür oluşturmak için CREATE PROCEDURE deyimi kullanılır. Basitleştirilmiş söz dizimi aşağıdaki gibidir:
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])] {IS | AS}
BEGIN
procedure_body END procedure_name;
IN: Programımıza bir değer gönderir.
OUT: Programamızda belirtiğimiz değeri döndürür.
IN OUT: Programımıza bir değer gönderir ve aynı zamanda bu değişkenin değişerek geri dönme ihtimali olduğunu gösterir.
Bu söz dizimini kullanarak bir prosedür oluşturalım:
CREATE OR REPLACE PROCEDURE selamver
AS
BEGIN
dbms_output.put_line('Merhaba, Ben Gökhan');
END;
/
Prosedür oluşturmada en sondaki END kelimesini kullanmak zorunda değilsiniz, ama koymak iyi bir programın gereklerindendir.
Prosedür Çağırma
Prosedürü çağırmak (Çalıştırmak) için CALL ve EXECUTE deyimi kullanılır. Yukarıdaki tanımladığımız prosedürü çalıştırmak için şu komutu çalıştırırız:
EXECUTE selamver;
Prosedür çalıştığında çıktı aşağıdaki gibi olur:
Merhaba, Ben Gökhan
Prosedür Bilgisi Alma
Bir prosedür hakkında bilgi almak için aşağıdaki sorgu çalıştırılır:
SELECT *
FROM user_procedures
Sorguyu çalıştırdığınızda veritabanınızdaki tüm prosedürler listelenir.
SELAMVER 20053 1 PROCEDURE
ADD_JOB_HISTORY 16423 1 PROCEDURE
SECURE_DML 16421 1 PROCEDURE
Prosedür Silme
Bir prosedürü silmek için DROP PROCEDURE deyimi kullanılır. Örnek olarak ilk oluşturduğumuz selamver prosedürünü silelim:
DROP PROCEDURE selamver;