Prosedur Block
Logika Program
Bagian prosedur
- Declarative
- Executable
- Exception-handing
Jenis prosedur
- tanpa paramater => bersifat statis
- dengan paramater => bersifat dinamis
Tanpa parameter
create procedur nama_procedur
AS
<<variable>>;
begin
statemen;
end;
Pemanggilan
begin
nama_procedur;
end;
SQL ++
execute nama_procedur;
create or replace procedur nama_procedur
AS
<<variable>>;
begin
statemen;
end;
drop procedure nama_procedure;
contoh :
create or replace procedure coba
as
begin
dbms_output.put_line(‘Hello World’)
end;
begin
coba;
end;
Menggunakan variable
create or replace procedure luas_segitiga as
alas number(5);
tinggi number(5);
luas number(10);
begin
alas := 3;
tinggi := 6;
luas := (alas*tinggi)/2;
dbms_output.put_line(luas);
end;
drop procedure coba;
Dengan parameter
Jenis parameter
1. masukkkan => input
– data -> nilai
– klausa -> IN
2. keluaran => output
– data -> variable
– kalusa -> OUT
3. masukkan/keluaran =>
create or replace procedure nama_procedur
(parameter1 tipe_data1, parameter2 tipe_data2, …)
as
<<variable>>;
begin
statemen;
end;
begin
nama_procedure(parameter1, parameter2, …)
end;
contoh :
Parameter masukkan
create or replace procedure jumlah (x in integer)
as
hasil integer;
begin
hasil := x + x;
dbms_output.put_line(hasil);
end;
create or replace procedure data (c in integer) as
begin
dbms_output.put_line(c+c);
end;
begin
jumlah(2);
end;
Parameter Keluaran
create or replace procedure luas_sgt(alas in integer, tinggi in integer, luas out integer) as
begin
luas := (alas*tinggi)/2;
dbms_output.put_line(luas);
end;
declare
data integer;
begin
luas_sgt(4,2, data);
end;