🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / Oracle PL / Kodlar

1-) Oracle PL -

KODLAR

//

SET SERVEROUTPUT ON;--ekrana çıktı vermesi için veya

SET SERVEROUTPUT ON SIZE 1000000000

0-)ornek aşağıda

SET SERVEROUTPUT ON SIZE 1000000000

DECLARE

TYPE myassociativearray IS TABLE OF NUMBER

INDEX BY PLS_INTEGER;

 

myarray myassociativearray;

BEGIN

myarray (150) := 25;

DBMS_OUTPUT.put_line (myarray(150));

END;

//

 

 

------

 

 

 

--t_deneme1 tablosundaki notlar alanı 22 olanın notuna %10 zam yapan cursor'u yazınız... ayrıyetten zam yapılan isim alanınıda da yazınız

declare cursor c1 is select * from t_deneme1;

al c1%rowtype;

begin

open c1;

loop

fetch c1 into al;

exit when c1%NOTFOUND;

update t_deneme1 set notlar=(notlar+notlar*0.1) where notlar=22;

if sql%rowcount<>0 then -- sql sorgusu çalışmış ise

dbms_output.put_line(al.isim);

end if;

end loop;

close c1;

end;

2-) PROSEDÜR

create or replace procedure topla(sayi1 number,sayi2 number) is

ortalama number ; begin

dbms_output.put_line(sayi1*sayi2);

end;

çağırmak

begin

topla(2,5);

end;

3-) fonksiyon

create or replace function deneme(sayi1 number,sayi2 number) return number is  ortalama number;

begin

 ortalama:= sayi1*sayi2;

 return ortalama;

end;

çağırmak

begin

dbms_output.put_line(deneme(3,5));

end;

4-) sistem tarafından veya kullanıcı tarafından oluşturulmuş exception hatalar(zero_divide,others)

declare hata exception;

sayi1 number;

sayi2 number;

begin

sayi1:=3; sayi2:=0;

if sayi1=3 then raise hata; end if;

sayi1:=sayi1/sayi2;--bir üst satırla yer değişirsen sistem tarafından hata mesajı alırsın

exception

when hata then

dbms_output.put_line('kullanıcı tarafından');

when zero_divide then

dbms_output.put_line('sistemde var olan');

end;

5-)--kaç tane veriyi guncellediğini yazan komut

 

declare adet number;

begin

update t_deneme1 set notlar=20;

if sql%found then -- değişiklik olduysa

adet:=sql%rowcount;--satır sayısını

dbms_output.put_line(adet||' değişiklik yapıldı');

end if;

end;

 2021 Ocak 18 Pazartesi
 368