PL/SQL Programlama — 5 — Procedures (Prosedürler)

Gökhan YAVAŞ
gokhanyavas
Published in
1 min readJan 18, 2017

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;

--

--