Saklı Yordam(Stored Procedure) Nedir?
Saklı
yordam olarak nitelediğimiz prosedürler bir ya da birden fazla işlevi yerine
getiren bir PL/SQL bloğudur. Bir prosedürün bir başlığı ve gövde kısmı vardır. Başlık kısmında
prosedürün adı ve prosedüre gönderilen parametreler bulunur. Gövde kısmında ise
tanım(declaration),çalıştırma(execution) ve hata(exception) kısmı bulunur.
Prosedürler diğer PL/SQL bloklarına benzerler. Sadece tekrar kullanım için
isimlendirilirler.
Prosedürlere 3 şekilde parametreler
aktarılır.
1) In parametreleri
2) Out parametreleri
3) In Out parametreleri
Prosedür bir değer döndürmek zorundaa
değildir.
Genel yazım şekli
CREATE [OR REPLACE]
PROCEDURE prosedür_adı [parametre listesi]
IS
Tanım kısmı(Declaration section)
BEGIN
Çalıştırılma kısmı (Execution section)
EXCEPTION
Hata tanımlama kısmı (Exception section)
END;
“IS”
prosedürün başlangıç kısmını ifade eder. Herhangi bir PL/SQL bloğundaki
“Declare” ifadesine denk düşer. “IS” ve “Begin” ifadesi tanım(Declaration)
kısmıdır.
“Create
or Replace” ifadesi ise bir prosedürün yaratılmasını veya eğer daha önceden yaratıldıysa da onun
ezilip üzerine tekrar yazılmasını sağlar.
Aşağıdaki
prosedürde çalışanların detayları adında bir prosedür yaratıyoruz. İlk önce
cur1 ve rec1 adında cursor ve kayıt(record) tanımlarımızı yapıyoruz. Sonrasında
ise bir döngüye sokarak var olan bütün çalışanların isimlerini ekrana yazdırmış
oluruz.
1>
CREATE OR REPLACE PROCEDURE calisan_detay
2>
IS
3> CURSOR cur1 IS
4> SELECT first_name, last_name, salary FROM tablo;
5> rec1 cur1%rowtype;
6>
BEGIN
7> FOR rec1 in cur1
8> LOOP
9> dbms_output.put_line(rec1.first_name);
10>
END LOOP;
11>END;
13>
/
Saklı Yordam(Stored Procedure)’ler nasıl çalıştırılırlar?
2 şekilde bir prosedür
çalıştırılabilinir.
1) SQL konsolundan
Execute prosedür_ismi veya exec prosedür_ismi
2) Başka bir prosedür
içinden direk prosedür ismini yazarak
Prosedür_ismi;
Hiç yorum yok:
Yorum Gönder