————————-PL / SQL ——————————

DECLARE
BEGIN
EXCEPTION
END;

DECLARE – değişken tanımlanması burada yapılır.körsırlar(cursors) verilir,hata tanımlanması yapılır.
BEGIN – END – bu iki blok içine dml işlemleri girilir.
EXCEPTION – hata çıktığında ne yapmamız gerektiğini söyler.

DBMS paket- oracle’ın plsql’i için hazır paketleri.DBMS_ ile başlarlar,
mesela DBMS_OUTPUT.PUT_LINE plsql’de begin-end; bloğu içindeki bilgiyi ekrana yazar.

çıktıyı görmek için ‘set serveroutput on’ kullanmamız gerekir.bir defa yazmak yeterli.
‘set serveroutput off’ dersek ekrana çıktısını göstermez.

set serveroutput on
begin
dbms_output.put_line(‘merhaba’);
end;
/

-declare bölümünde değişken tanımlarken not null ve constraint’te muhakkak default değer vermek gerekir.

adi varchar2(10):=’mehmet’;
yada
adi varchar2(10) DEFAULT ‘mehmet’;

& – kullanıcıya sormak için ampersant kullanılır. =&soru

— tek satırlık açıklama(comment) yada /* ………. */ uzun satırlık açıklama girebiliriz.

içiçe begin-end; kullanımında aynı değişken isimleri kullanılabilir.

————————PL/SQL ÖRNEK-1—————————
set serveroutput on
declare
degisken number(4):=10;
begin
dbms_output.put_line(degisken);
end;
/

————————-PL/SQL ÖRNEK-2————————
declare
degisken number(4):=10;
begin
degisken:=5;
dbms_output.put_line(degisken);
end;
/
———————–PL/SQL ÖRNEK-3—————————–
declare
a number;
b varchar2(20);
begin
select hasta_no,hasta_adi into a,b from hastalar where hasta_adi=’ahmet’;
insert into hastalar(hasta_id,hasta_no,hasta_adi,klinik_id) values(80,700,’kemal’,3);
end;
/
select * from hastalar;

————————-PL/SQL ÖRNEK-4—————————-
declare
soru number;
begin
delete from hastalar
where hasta_id=&soru;
if sql%notfound then
dbms_output.put_line(‘hastalar tablosunda bu id bulunamadı!.’);
end if;
end;
/
select * from hastalar;

%isopen
%notfound
%found
%rowcount