Oracle Tipe Data PL/SQL: Boolean, Angka, Tanggal [Contoh]
Apa itu Tipe Data PL/SQL?
Jenis Data dalam PL/SQL digunakan untuk menentukan bagaimana data akan disimpan, ditangani, dan diperlakukan Oracle selama penyimpanan dan pemrosesan data. Tipe data dikaitkan dengan format penyimpanan tertentu dan batasan jangkauan. Di dalam Oracle, setiap nilai atau konstanta ditetapkan dengan tipe data.
Perbedaan utama antara PL/SQL dan SQL tipe datanya adalah, tipe data SQL terbatas pada kolom tabel sedangkan tipe data PL/SQL digunakan di Blok PL/SQL. Informasi lebih lanjut akan dibahas nanti dalam tutorial.
Berikut ini adalah diagram dari berbagai Oracle Tipe Data PL/SQL:

Tipe Data KARAKTER PL/SQL
Tipe data ini pada dasarnya menyimpan karakter alfanumerik dalam format string.
Nilai literal harus selalu diapit tanda kutip tunggal saat menugaskannya ke tipe data CHARACTER.
Tipe data karakter ini diklasifikasikan lebih lanjut sebagai berikut:
- Tipe data CHAR (ukuran string tetap)
- VARCHAR2 Tipe data (ukuran string variabel)
- Tipe data VARCHAR
- NCHAR (ukuran string tetap asli)
- NVARCHAR2 (ukuran string variabel asli)
- MENTAH PANJANG dan PANJANG
Data Type | Description | Sintaksis |
---|---|---|
ARANG | Tipe data ini menyimpan nilai string, dan ukuran string ditetapkan pada saat mendeklarasikannya variabel.
|
grade CHAR; manager CHAR (10):= 'guru99'; Penjelasan Sintaks:
|
VARCHAR2 | Tipe data ini menyimpan string, namun panjang string tidak tetap.
|
manager VARCHAR2(10) := ‘guru99'; Penjelasan Sintaks:
|
Varchar | Ini identik dengan tipe data VARCHAR2.
|
manager VARCHAR(10) := ‘guru99'; Penjelasan Sintaks:
|
NCHAR | Tipe data ini sama dengan tipe data CHAR, namun himpunan karakternya akan sesuai dengan himpunan karakter nasional.
|
native NCHAR(10); Penjelasan Sintaks:
|
NVARCHAR2 |
Tipe data ini sama dengan tipe data VARCHAR2, namun himpunan karakternya akan berupa himpunan karakter nasional.
|
Native var NVARCHAR2(10):='guru99'; Penjelasan Sintaks:
|
PANJANG dan PANJANG | Tipe data ini digunakan untuk menyimpan teks berukuran besar atau data mentah hingga ukuran maksimal 2GB.
|
Large_text LONG; Large_raw LONG RAW; Penjelasan Sintaks:
Catatan: Penggunaan tipe data LONG tidak disarankan oleh Oracle. Sebaliknya, tipe data LOB sebaiknya diutamakan. |
Tipe Data NOMOR PL/SQL
Tipe data ini menyimpan angka tetap atau floating point dengan presisi hingga 38 digit. Tipe data ini digunakan untuk bekerja dengan bidang yang hanya berisi data angka. Variabel dapat dideklarasikan dengan presisi dan detail digit desimal atau tanpa informasi ini. Nilai tidak perlu diapit tanda kutip saat menetapkan tipe data ini.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Penjelasan Sintaks:
- Pada contoh di atas, deklarasi pertama mendeklarasikan variabel 'A' bertipe data angka dengan presisi total 8 dan angka desimal 2.
- Deklarasi kedua mendeklarasikan variabel 'B' bertipe data angka dengan presisi total 8 dan tidak ada digit desimal.
- Deklarasi ketiga adalah yang paling umum, mendeklarasikan variabel 'C' bertipe data angka tanpa batasan presisi atau tempat desimal. Dapat memuat hingga maksimum 38 digit.
Tipe Data BOOLEAN PL/SQL
Tipe data ini menyimpan nilai logika. Oracle Tipe Data Boolean mewakili TRUE atau FALSE dan terutama digunakan dalam pernyataan bersyarat. Nilai tidak perlu diapit tanda kutip saat menetapkan tipe data ini.
Var1 BOOLEAN;
Penjelasan Sintaks:
- Di atas, variabel 'Var1' dideklarasikan sebagai tipe data BOOLEAN. Output kode akan bernilai benar atau salah berdasarkan kondisi yang ditetapkan.
Tipe Data TANGGAL PL/SQL
Tipe data ini menyimpan nilai dalam format tanggal, seperti tanggal, bulan, dan tahun. Setiap kali suatu variabel didefinisikan dengan tipe data DATE bersama dengan tanggal, variabel tersebut dapat menyimpan informasi waktu dan secara default informasi waktu diatur ke 12:00:00 jika tidak ditentukan. Nilai harus diapit oleh tanda kutip saat menetapkan tipe data ini.
Standar Oracle format waktu untuk input dan output adalah 'DD-MON-YY' dan diatur lagi pada NLS_PARAMETERS (NLS_DATE_FORMAT) pada tingkat sesi.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
Penjelasan Sintaks:
- Di atas, variabel 'tahun baru' dideklarasikan sebagai tipe data DATE dan diberi nilai 1 Janst, tanggal 2015.
- Deklarasi kedua mendeklarasikan variabel current_date sebagai tipe data DATE dan menetapkan nilai dengan tanggal sistem saat ini.
- Kedua variabel ini menyimpan informasi waktu.
Tipe Data PL/SQL LOB
Tipe data ini terutama digunakan untuk menyimpan dan memanipulasi blok besar data tidak terstruktur seperti gambar, file multimedia, dll. Oracle lebih memilih tipe data LOB daripada tipe data LONG karena lebih fleksibel dibandingkan tipe data LONG. Di bawah ini adalah beberapa keunggulan utama LOB dibandingkan tipe data LONG.
- Jumlah kolom pada tabel bertipe data PANJANG dibatasi 1, sedangkan tabel tidak dibatasi jumlah kolom bertipe data LOB.
- Alat antarmuka data menerima tipe data LOB dari tabel selama replikasi data, namun menghilangkan kolom PANJANG pada tabel. Kolom PANJANG ini perlu direplikasi secara manual.
- Ukuran kolom LONG adalah 2GB, sedangkan LOB dapat menyimpan hingga 128 TB.
- Oracle terus meningkatkan tipe data LOB di setiap rilisnya sesuai dengan kebutuhan modern, sedangkan tipe data LONG bersifat konstan dan tidak mendapatkan banyak pembaruan.
Jadi, akan lebih baik jika menggunakan tipe data LOB daripada tipe data LONG. Berikut ini adalah beberapa tipe data LOB. Tipe-tipe ini dapat menyimpan data hingga ukuran 128 terabyte.
- Gumpalan
- CLOB dan NCLOB
- BFILE
Data Type | Description | Sintaksis |
---|---|---|
Gumpalan | Tipe data ini menyimpan data LOB dalam format file biner hingga ukuran maksimum 128 TB. Tipe ini tidak menyimpan data berdasarkan rincian set karakter, sehingga dapat menyimpan data tidak terstruktur seperti objek multimedia, gambar, dll. |
Binary_data BLOB; Penjelasan Sintaks:
|
CLOB dan NCLOB | Tipe data CLOB menyimpan data LOB ke dalam kumpulan karakter, sedangkan NCLOB menyimpan data dalam kumpulan karakter asli. Karena tipe data ini menggunakan penyimpanan berbasis kumpulan karakter, tipe data ini tidak dapat menyimpan data seperti multimedia, gambar, dll. yang tidak dapat dimasukkan ke dalam string karakter. Ukuran maksimum tipe data ini adalah 128 TB. |
Charac_data CLOB; Penjelasan Sintaks:
|
BFILE |
|
Kesimpulan
Kami telah membahas berbagai tipe data sederhana yang tersedia PL / SQL beserta sintaksnya. Kita akan mempelajari tipe data kompleks di topik selanjutnya.