-- operator dan fungsi baku
SET serveroutput ON
SET verify off
DECLARE
-- deklarasi variable
vnomor NUMBER(3); -- nomor karyawan
vnama VARCHAR2(20); -- nama karyawan
vtgl_bekerja DATE; -- tgl mulai bekerja
vkode_jabatan VARCHAR2(50);
vnama_jabatan VARCHAR2(50);
--deklarasi konstanta
kgaris CONSTANT VARCHAR2(50):=LPAD(\'-\',40,\'-\');
BEGIN
-- input nomor ke variable nomor
vnomor:= SUBSTR(\'&input_nomor_karyawan\',1, 3);
-- cari data karyawan yang sesuai dengan vnomor
SELECT E.last_name, E.hire_date,E.job_id, J.job_title
INTO vnama,vtgl_bekerja,vkode_jabatan,vnama_jabatan
FROM Employees E Join Jobs J
ON E.job_id=J.job_id
WHERE employee_id = vnomor;
--tampilkan record
dbms_output.put_line(\'Data Karyawan\');
dbms_output.put_line(kgaris);
dbms_output.put_line(\'No. Karyawan : \'||vnomor);
dbms_output.put_line(\'Nama Karyawan : \'||UPPER(vnama));
dbms_output.put_line(\'Tgl Mulai Kerja : \'||TO_CHAR(vtgl_bekerja, \'yyyy/MM/dd\'));
dbms_output.put_line(\'Kode Jabatan : \'||vkode_jabatan);
dbms_output.put_line(\'Nama Jabatan : \'||vnama_jabatan);
dbms_output.put_line(kgaris);
EXCEPTION
WHEN NO_DATA_FOUND THEN dbms_output.put_line
(\'Karyawan No. \'||vnomor||\' tidak ada...\');
END;