Bagian
deklarasi variabel di antara kata kunci DECLARE dan BEGIN. Penamaan variabel
tidal bersifat case sensitive. Tipe data variabel dapat berupa salah satu tipe
data database Oracle atau tipe data built in PL/SQL.
Sintaks:
Identifier typedata
[(presisi, skala)] [NOT NULL] [:=iekspresi];
|
Dimana ekspresi
bisa merupakan literal, variabel yang lain atau sebuah ekspresi yang terdiri
atas operator dan fungsi. Jika nilai inisial/awal tidak diberikan, maka suatu
variabel akan diberikan nilai NULL untuk nilai inisialnya.
Contoh untuk
data karakter:
alamat
VARCHAR2(20);
kodepos
CHAR(5) := ‘40257’;
|
Contoh untuk
tipe data number:
gaji NUMBER(7,2);
jumlah NUMBER NOT NULL := 0;
|
Contoh untuk
tipe data tanggal:
alamat
VARCHAR2(20);
kodepos
CHAR(5) := ‘40257’;
|
Tanda :=
dipakai untuk menugaskan (assign) nilai kepada suatu variabel. Nilai
inisial/awal atau disebut juga nilai default adalah nilai yang diberikan pada saat
awal variabel tersebut dideklarasikan.
Pendeklarasian
Konstanta
Sintaks:
Identifier CONSTANT
typedate[(presisi,skala)] := ekspresi;
|
Contoh:
pi CONSTANT NUMBER(9,2):=3.14;
|
Atribut
Variabel
Jika
menggunakan variabel yang menampung nilai dari suatu kolom dari suatu tabel,
maka sebaiknya menggunakan atribut variabel. Hal ini untuk menghindari
terjadinya kerepotan seperti: user harus melihat struktur tabel yang terkait
terlebih dahulu untuk memberikan tipe data yang cocok. Selain itu jika terjadi
tipe data kolom maka deklarasi variabel tersebut harus diubah juga.
Atribut
variabel berfungsi untuk memberikan tipe data yang sama dengan tipe data suatu
kolom dari suatu tabel. Atribut variabel juga dapat digunakan untuk tipe data
record. Dengan demikian, atribut variabel ada dua. Untuk atribut kolom digunakan
%TYPE, sedangkan untuk atribut record gunakan %ROWTYPE. Cara penggunaannya
ditunjukkan berikut ini:
[schema.]table.column%TYPE;
<cursor_name|[schema.]table>%ROWTYPE;
|
Sebagai contoh,
varaiabel v_nama mempunyai tipe data yang sama dengan kolom nama pada tabel
pegawai. Deklarasi variabel tersebut dapat dituliskan seperti ini:
v_nama
mahasiswa.nama%type;
|
Selain dapat
digunakan untuk variabel record, atribut %ROWTYPE bisa dipakai pada variabel
cursor. Dan untuk mengakses baris-baris pada cursor atau record tersebut
digunakan format nama_var.COLUMN.
Contoh:
pgw_rec
pgw_cur%rowtype;
|
Menugaskan
Nilai ke Dalam Variabel
Sintaks:
identifier := ekspresi;
|
Dimana
identifier adalah nama variabel target, atau field untuk menerima nilai dari
ekspresi. Sedang ekspresi mungkin berupa literal, nama variabel lain yang sudah
ada, atau suatu ekspresi yang cukup kompleks yang diperlukan untuk menentukan
suatu nilai yang akan ditugaskan.
Contoh:
v_jumlah := 0;
|
==SEMOGA BERMANFAAT==
0 komentar:
Post a Comment