6701150029 Fadhli Fauzan D3MI-39-04

Published on 01-APR-2017 by GUEST

create or replace function sum_sals (d employees.department_id%type)

return number as

total number;

begin

    select sum(salary) into total from employees

        where department_id = d;

        return total;

    exception

        when no_data_found then

            return 0;

        end sum_sals;

        /

CREATE OR REPLACE FUNCTION (baris ke-1) artinya function akan dibuat, bila sudah ada (exist) maka akan diganti dengan yang baru (replace/overwrite). Nama function pada contoh adalah sum_sals (fungsi untuk menghitung pengeluaran untuk gaji karyawan dari suatu departemen/bagian) dengan parameter masukan/input berupa informasi kode departemen.

Baris ke-1 berisi parameter-parameter input yaitu nama_parameter tipe_data. Pada PL/SQL anda bisa juga tidak menyebutkan tipe data secara eksplisit namun digantikan dengan tipe data  field dari suatu tabel dalam  hal ini employees.departement_id%TYPE. Field departement_id pada tabel employee adalah bertipe NUMBER.

Baris ke 2 berisi return value atau nilai kembalian ketika function dipanggil, pada contoh NUMBER.

Baris ke-3 adalah variable sementara yaitu total bertipe NUMBER untuk menghitung total pengeluaran gaji untuk suatu departemen.

Baris ke-5 sd 11 adalah syntax PL/SQL untuk menjalankan fungsi tersebut.

Untuk menjalankan Function, tidak menggunakan EXEC, namun perintah SELECT nama_function(param1, param2, dst) FROM dual/nama_tabel. Pada contoh di atas dijalankan perintah sum_sals(50) yaitu menghitung total pengeluaran gaji untuk departemen dengan kode=50, Hasilnya adalah $ 156.400,-

 

 

Comments