Pada pertemuan ke-2 ada beberapa soal yang saya coba akan bahas
DECLARE
v_deptno number(4);
v_location_id number(4);
BEGIN
SELECT depertmen_id , location_id
INTO v_deptno , v_location_id
FROM departments
WHERE department_name ="sales" ;
END ;
Maksud dari DECLARE adalah v_deptno dan v_location_id memiliki type number yang memiliki panjang 4 karakter.
Sementara pada BEGIN
- SELECT adalah menampilkan data yang ada di kolom depertmen_id , location_id
- INTO v_deptno , v_location_id bertujuan data yang ada dikolom depertmen_id , location_id ditampilkan kedalam variable
- FROM data diambil dari table departments
- WHERE dimana yang ditampilkan dari department_name adalah sales
v_hire_date employees.hire_date%TYPE ;
v_salary employees.salary%TYPE ;
BEGIN
SELECT hire_date , salary
INTO v_hire_date , v_salary
FROM employees
WHERE employees_id = 100 ;
END ;
DECLARE pada soal ini variable tipenya diambil secara default kedalam database.
v_hire_date employees.hire_date%TYPE menjelaskan bahwa variable dan data typenya sama yaitu date.
v_salary employees.salary%TYPE menjelaskan bahwa variable dan tipe datanya sama yaitu number.
sementara maksud dari %TYPE adalah supaya fleksibel,jika ada perubahan data tidak perlu merubah programnya.
SET SERVEROUTPUT ON
DECLARE
v_sum_sal number (10,2) ;
v_deptno number NOT NULL := 60 ;
BEGIN
SELECT SUM(salary) == grup function
INTO v_sum_sal
FROM employees
WHERE department_id = v_deptno ;
DBMS_OUTPUT.PUT_LINE ('The sum salary is' || TO CHAR (v_sum_sal)) ;
END ;
SET SERVEROUTPUT ON bertujuan untuk mengaktifkan menjadi ON yang sebelumnya OFF
pada v_deptno default mempunyai nilai 60 sehingga hasil dari penjumlahan procedure akan ditambah 60
pada the 'The sum salary is' menggunakan TO CHAR karena adanya concate, karena v_sum_sal awalnya adalah number kini berubah menjadi String.
0 komentar:
Posting Komentar