Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Execute statement ini sekali saja :
- SET SERVEROUTPUT ON;
- -- Source pembuatan Procedure hello (contoh while)
- CREATE OR REPLACE PROCEDURE hello (jml IN NUMBER) IS
- teks VARCHAR2(20) := 'Hello World';
- i NUMBER(3) := 1;
- BEGIN
- WHILE i <= jml LOOP
- DBMS_OUTPUT.put_line(i || ' ' || teks);
- i := i+1;
- END LOOP;
- END;
- -- contoh pemanggilan procedure
- EXECUTE hello(5);
- -- contoh blok PL/SQL Procedure untuk menaikkan gaji
- -- menggunakan kondisional
- CREATE OR REPLACE PROCEDURE naikkan_gaji IS
- BEGIN
- DBMS_OUTPUT.put_line ('Kenaikan Gaji Baru:');
- FOR t IN (SELECT * FROM emp)
- LOOP
- IF (t.sal > 1500) THEN
- DBMS_OUTPUT.put_line(t.sal+(0.1 * t.sal));
- ELSE
- DBMS_OUTPUT.put_line(t.sal+(0.15 * t.sal));
- END IF;
- END LOOP;
- END;
- -- contoh pemanggilan procedure
- EXECUTE naikkan_gaji
- -- contoh FUNCTION
- CREATE OR REPLACE FUNCTION luas_segitiga(
- alas IN FLOAT,
- tinggi IN FLOAT)
- RETURN FLOAT
- IS
- BEGIN
- RETURN 0.5 * alas * tinggi;
- END;
- -- contoh penggunaan function :
- SELECT luas_segitiga(4,7) FROM dual;
- -- Source PL/SQL Anonymous Block, non Procedure/Function
- DECLARE
- gaji emp.sal%TYPE;
- BEGIN
- SELECT sal INTO gaji
- FROM emp WHERE empno = &kode_pegawai;
- IF gaji > 1500 THEN
- DBMS_OUTPUT.put_line('Gajinya besar, yaitu '||gaji);
- ELSE
- DBMS_OUTPUT.put_line('Gajinya kecil, yaitu '||gaji);
- END IF;
- END;
- -- SCHEMA : HR. Bukan SCOTT.
- -- Function untuk mendeteksi standar gaji
- CREATE OR REPLACE FUNCTION standargaji(gaji IN NUMBER)
- RETURN VARCHAR2 IS
- BEGIN
- IF gaji >= 10000 THEN
- RETURN 'Tinggi';
- ELSE
- RETURN 'Biasa';
- END IF;
- END;
- -- contoh penggunaan function standargaji
- SELECT standargaji(11000) FROM dual;
- SELECT
- employee_id,
- first_name,
- last_name,
- salary,
- standargaji(salary) AS standar_gaji
- FROM employees;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement