Type Data Reference merupakan salah satu dari macam-macam
tipe data pada pl/sql yang digunakan untuk
mereferensikan tipe data pada variabel lain.
Attribut %TYPE
%TYPE adalah attribut yang digunakan untuk
mendeklarasikan sebuah variable yang sesuai dengan:
- Definisi
     sebuah kolom database
 - Deklarasi
     variable lain
 
Selain
itu, %TYPE diawali dengan
- Tabel
     dan Kolom Database
 - Nama
     dari Variabel yang dideklarasikan
 
Deklarasi Variabel dengan
%TYPE
Syntax:
identifier
table.column_name%TYPE;
Contoh :
emp_name employees.last_name%TYPE;
balance NUMBER(7,2);
min_balance balance%TYPE := 1000;
balance NUMBER(7,2);
min_balance balance%TYPE := 1000;
Penjelasan
:
Pada
contoh diatas, kita membuat 3 buah variabel yaitu Variabel emp_name, balance, dan min_balance dimana Variabel emp_name memiliki tipe yang sama dengan tipe kolom last_name pada tabel employees, lalu
Variabel balance bertipe Number, Dan
Variabel min_balance yang
bertipe sama dengan Variabel balance yang memiliki tipe NUMBER
Attribut %ROWTYPE
%ROWTYPE digunakan untuk mendeklarasikan sebuah
variabel yang sesuai dengan tipe data sejumlah kolom pada tabel atau view di
database. Beda halnya dengan %TYPE yang hanya bisa mereferensikan satu tipe
kolom atau satu variabel saja.
Keuntungan
menggunakan %ROWTYPE :
- Kita
     tidak perlu mengetahui berapa jumlah dan tipe data kolom pada tabel atau
     view yang ingin kita referensikan
 - Adanya
     kemungkinan terjadinya perubahan jumlah dan tipe data kolom pada tabel
     atau view pada saat run time
 - Cocok
     digunakan saat menerima data menggunakan SELECT * statement
 
Syntax :
DECLARE
identifier reference%ROWTYPE;
Contoh :
SET SERVEROUTPUT ON
DECLARE
BEGIN
SELECT * INTO
FROM
WHERE Employee_id =
Col_Emp
employees%ROWTYPE;BEGIN
SELECT * INTO
Col_EmpFROM
EmployeesWHERE Employee_id =
120;
DBMS_OUTPUT.PUT_LINE
DBMS_OUTPUT.PUT_LINE
DBMS_OUTPUT.PUT_LINE
END;
(Col_Emp.last_name);DBMS_OUTPUT.PUT_LINE
(Col_Emp.first_name);DBMS_OUTPUT.PUT_LINE
(Col_Emp.salary);END;
Pada
Contoh diatas kita membuat sebuah variabel Col_Emp yang mempunyai semua tipe
data pada kolom tabel employees.
Tidak ada komentar:
Posting Komentar