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.
Tipe Data pada PL/SQL
Selain tipe data yang ada di Oracle SQL, PL/SQL menyediakan beberapa
tambahan tipe data yang dapat dideklarasikan sebagai berikut:
Tipe Data
|
Keterangan
|
BOOLEAN
|
Data lojikal dengan nilai TRUE atau FALSE.
|
DATE
|
Data tanggal waktu. Nilai yang valid adalah antara 1 Januari 4712 SM sampai
dengan 31 Desember 9999.
|
NUMBER [(p [,s])]
|
Tipe data numerik dengan p angka penting dan sejumlah s
angka penting di belakang koma. Nilai p adalah integer dengan nilai
maksimal 38 dan nilai s berada pada rentang -84 sampai dengan 127.
Nilai s negatif berarti pembulatan sampai dengan 10s terdekat.
|
FLOAT
|
Turunan dari NUMBER. Presisi sampai dengan 38 digit.
|
DOUBLE PRECISION
|
Sama dengan FLOAT.
|
REAL
|
Turunan dari number. Presisi sampai dengan 18 digit.
|
DEC [(p [,s])]
|
Sama dengan NUMBER [(p [,s])].
|
DECIMAL [( p [,s])]
|
Sama dengan NUMBER [(p [,s])].
|
NUMERIC [(p [,s])]
|
Sama dengan NUMBER [(p [,s])].
|
INTEGER [(n)]
|
Sama dengan NUMBER [(n,0)].
|
INT [(n)]
|
Sama dengan NUMBER [(n,0)].
|
SMALLINT [(n)]
|
Sama dengan NUMBER [(n,0)].
|
BINARY_INTEGER
|
Tipe variabel ini digunakan menyimpan nilai mulai dari
-2.147.483.647 s/d 2.147.483.647
|
NATURAL
|
Bagian dari binary integer, mampu menyimpan mulai dari 0 s/d
2.147.483.647.
|
NATURALN
|
Bagian dari binary integer, mampu menyimpan mulai dari 0 s/d 2.147.483.647.
Tipe data ini tidak boleh bernilai NULL.
|
POSITIVE
|
Bagian dari binary integer, mampu menyimpan mulai dari 1 s/d
2.147.483.647
|
POSITIVEN
|
Bilangan integer dengan rentang nilai 1 sampai dengan 2147483647. Tipe
data ini tidak boleh bernilai NULL.
|
SIGNTYPE
|
Tipe data bilangan yang bernilai -1, 0 atau 1.
|
PLS_INTEGER
|
Bilangan integer dengan rentang nilai -2147483647 sampai 2147483647.
|
VARCHAR2(n)
|
Data karakter dengan panjang tidak tetap. Nilai n minimum sama
dengan 1 dan maksimum sama dengan 32767 byte.
|
VARCHAR(n)
|
Sama dengan VARCHAR2(n).
|
CHAR [(n)]
|
Data karakter dengan panjang tetap sebesar n byte. Nilai n maksimum
adalah 32767. Nilai n minimum dan juga nilai default adalah 1.
|
STRING(n)
|
Sama dengan VARCHAR2(n).
|
CHARACTER [(n)]
|
Sama dengan CHAR(n).
|
LONG [(n)]
|
Data karakter dengan panjang tidak tetap. Nilai n maksimum sama
dengan 32760 byte.
|
NCHAR [(n)]
|
Data karakter dengan panjang tetap. Panjang maksimum sama dengan 32767
byte. maksimum bergantung pada national character set yang dipakai.
Nilai default adalah 1.
|
NVARCHAR2(n)
|
Data karakter dengan panjang tidak tetap. Panjang maksimum sama dengan
32767 byte. Nilai n maksimum bergantung pada national character set
yang dipakai.
|
RAW(n)
|
Data binary dengan panjang tidak tetap. Nilai n maksimum sama
dengan 32767 byte.
|
LONG RAW [(n)]
|
Data binary dengan panjang tidak tetap. Nilai n maksimum sama
dengan 32760 byte.
|
ROWID
|
Identitas baris pada suatu tabel-index yang dinyatakan dengan string
heksa desimal. Identitas tersebut menunjukkan posisi baris data. Tipe data
ini merupakan balikan dari kolom palsu ROWID.
|
UROWID [(n)]
|
Identitas baris pada suatu tabel-index yang dinyatakan dengan string
heksa desimal. Nilai n adalah ukuran kolom UROWID. Nilai nmaksimum
adalah 4000 byte.
|
0 komentar:
Posting Komentar