Tipe Data Oracle PL / SQL: Boolean, Angka, Tanggal (Contoh)

Daftar Isi:

Anonim

Apa itu PL / SQL Datatypes?

Tipe data dikaitkan dengan format penyimpanan spesifik dan batasan jangkauan. Di Oracle, setiap nilai atau konstanta ditetapkan dengan tipe data.

Pada dasarnya, ini mendefinisikan bagaimana data disimpan, ditangani, dan diperlakukan oleh Oracle selama penyimpanan dan pemrosesan data.

Perbedaan utama antara tipe data PL / SQL dan SQL adalah, tipe data SQL terbatas pada kolom tabel sedangkan tipe data PL / SQL digunakan dalam blok PL / SQL. Lebih lanjut tentang ini nanti di tutorial.

Berikut adalah diagram Jenis Data yang berbeda di PL / SQL

Dalam tutorial ini, Anda akan belajar-

  • KARAKTER Jenis Data
  • NUMBER Jenis Data
  • Jenis Data BOOLEAN
  • Jenis Data DATE
  • Jenis Data LOB

KARAKTER Tipe Data:

Tipe data ini pada dasarnya menyimpan karakter alfanumerik dalam format string.

Nilai literal harus selalu diapit tanda kutip tunggal saat menetapkannya ke tipe data CHARACTER.

Tipe data karakter ini selanjutnya diklasifikasikan sebagai berikut:

  • Tipe data CHAR (ukuran string tetap)
  • VARCHAR2 Jenis data (ukuran string variabel)
  • VARCHAR Jenis data
  • NCHAR (ukuran string tetap asli)
  • NVARCHAR2 (ukuran string variabel asli)
  • RAW PANJANG dan PANJANG
Tipe data Deskripsi Sintaksis
ARANG Tipe data ini menyimpan nilai string, dan ukuran string ditetapkan pada saat mendeklarasikan variabel.
  • Oracle akan mengosongkan variabel jika variabel tidak menempati seluruh ukuran yang telah dideklarasikan untuk itu, Oleh karena itu Oracle akan mengalokasikan memori untuk ukuran yang dideklarasikan bahkan jika variabel tidak menempati sepenuhnya.
  • Batasan ukuran untuk tipe data ini adalah 1-2000 byte.
  • Tipe data CHAR lebih tepat digunakan dimanapun ukuran data tetap akan ditangani.
grade CHAR;manager CHAR (10):= 'guru99';
Penjelasan Sintaks:
  • Pernyataan deklarasi pertama menyatakan variabel 'grade' tipe data CHAR dengan ukuran maksimum 1 byte (nilai default).
  • Pernyataan deklarasi kedua menyatakan variabel 'manager' dari tipe data CHAR dengan ukuran maksimum 10 dan diberi nilai 'guru99' yaitu 6 byte. Oracle akan mengalokasikan memori 10 byte, bukan 6 byte dalam kasus ini.
VARCHAR2 Tipe data ini menyimpan string, tetapi panjang string tidak tetap.
  • Batasan ukuran untuk tipe data ini adalah 1-4000 byte untuk ukuran kolom tabel dan 1-32767 byte untuk variabel.
  • Ukuran ditentukan untuk setiap variabel pada saat deklarasi variabel.
  • Tetapi Oracle akan mengalokasikan memori hanya setelah variabel ditentukan, yaitu, Oracle hanya akan mempertimbangkan panjang sebenarnya dari string yang disimpan dalam variabel untuk alokasi memori daripada ukuran yang telah diberikan untuk variabel di bagian deklarasi.
  • Itu selalu baik untuk menggunakan VARCHAR2 daripada tipe data CHAR untuk mengoptimalkan penggunaan memori.
manager VARCHAR2(10) := ‘guru99';
Penjelasan Sintaks:
  • Pernyataan deklarasi di atas mendeklarasikan variabel 'manager' dari tipe data VARCHAR2 dengan ukuran maksimum 10 dan diberi nilai 'guru99' yaitu 6 byte. Oracle hanya akan mengalokasikan memori 6 byte dalam kasus ini.
VARCHAR Ini identik dengan tipe data VARCHAR2.
  • Itu selalu merupakan praktik yang baik untuk menggunakan VARCHAR2 daripada VARCHAR untuk menghindari perubahan perilaku.
manager VARCHAR(10) := ‘guru99';
Penjelasan Sintaks:
  • Pernyataan deklarasi di atas mendeklarasikan variabel 'manager' dari tipe data VARCHAR dengan ukuran maksimum 10 dan diberi nilai 'guru99' yaitu 6 byte. Oracle hanya akan mengalokasikan memori 6 byte dalam kasus ini. (Mirip dengan VARCHAR2)
NCHAR Tipe data ini sama dengan tipe data CHAR, tetapi himpunan karakternya akan set karakter nasional.
  • Kumpulan karakter ini dapat ditentukan untuk sesi menggunakan NLS_PARAMETERS.
  • Kumpulan karakter dapat berupa UTF16 atau UTF8.
  • Batasan ukuran adalah 1-2000 byte.
native NCHAR(10);
Penjelasan Sintaks:
  • Pernyataan deklarasi di atas mendeklarasikan variabel 'native' dari tipe data NCHAR dengan ukuran maksimum 10.
  • Panjang variabel ini tergantung pada (jumlah panjang) per byte sebagaimana ditentukan dalam himpunan karakter.
NVARCHAR2 Tipe data ini sama dengan tipe data VARCHAR2, tetapi himpunan karakternya adalah himpunan karakter nasional.
  • Kumpulan karakter ini dapat ditentukan untuk sesi menggunakan NLS_PARAMETERS.
  • Kumpulan karakter dapat berupa UTF16 atau UTF8.
  • Batasan ukuran adalah 1-4000 byte.
Native var NVARCHAR2(10):='guru99';
Penjelasan Sintaks:
  • Pernyataan deklarasi di atas mendeklarasikan variabel 'Native_var' dari tipe data NVARCHAR2 dengan ukuran maksimum 10.
PANJANG dan PANJANG Tipe data ini digunakan untuk menyimpan teks besar atau data mentah hingga ukuran maksimal 2GB.
  • Ini terutama digunakan dalam kamus data.
  • Tipe data LONG digunakan untuk menyimpan data set karakter, sedangkan LONG RAW digunakan untuk menyimpan data dalam format biner.
  • Tipe data LONG RAW menerima objek media, gambar, dll. Sedangkan LONG hanya bekerja pada data yang dapat disimpan menggunakan set karakter.
Large_text LONG;Large_raw LONG RAW;
Penjelasan Sintaks:
  • Pernyataan deklarasi di atas mendeklarasikan variabel 'Large_text' dari tipe data LONG dan 'Large_raw' dari tipe data LONG RAW.
Catatan: Menggunakan tipe data LONG tidak direkomendasikan oleh Oracle. Sebaliknya, tipe data LOB lebih disukai.

NUMBER Tipe Data:

Tipe data ini menyimpan angka tetap atau floating point hingga presisi 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 dalam tanda kutip saat menetapkan untuk tipe data ini.

A NUMBER(8,2);B NUMBER(8);C NUMBER;

Penjelasan Sintaks:

  • Di atas, deklarasi pertama menyatakan variabel 'A' adalah tipe data angka dengan presisi total 8 dan angka desimal 2.
  • Deklarasi kedua menyatakan variabel 'B' adalah tipe data angka dengan presisi total 8 dan tanpa digit desimal.
  • Deklarasi ketiga adalah yang paling umum, menyatakan variabel 'C' adalah tipe data angka tanpa batasan presisi atau tempat desimal. Ini bisa memakan waktu hingga maksimal 38 digit.

Tipe Data BOOLEAN:

Tipe data ini menyimpan nilai logika. Ini mewakili TRUE atau FALSE dan terutama digunakan dalam pernyataan bersyarat. Nilai tidak perlu diapit dalam tanda kutip saat menetapkan untuk tipe data ini.

Var1 BOOLEAN;

Penjelasan Sintaks:

  • Di atas, variabel 'Var1' dideklarasikan sebagai tipe data BOOLEAN. Output kode akan menjadi benar atau salah berdasarkan set kondisi.

Jenis Data DATE:

Tipe data ini menyimpan nilai dalam format tanggal, seperti tanggal, bulan, dan tahun. Kapanpun sebuah variabel didefinisikan dengan tipe data DATE bersama dengan tanggal itu dapat menyimpan informasi waktu dan secara default informasi waktu diatur ke 12:00:00 jika tidak ditentukan. Nilai harus diapit dalam tanda kutip saat menetapkan untuk tipe data ini.

Format waktu standar Oracle untuk input dan output adalah 'DD-MON-YY' dan sekali lagi disetel pada NLS_PARAMETERS (NLS_DATE_FORMAT) di tingkat sesi.

newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;

Penjelasan Sintaks:

  • Dalam contoh di atas, variabel 'newyear' dinyatakan sebagai tipe data DATE dan ditugaskan nilai 1 Jan st , 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 LOB:

Tipe data ini terutama digunakan untuk menyimpan dan memanipulasi blok besar data tidak terstruktur seperti gambar, file multimedia, dll. Oracle lebih memilih LOB daripada tipe data LONG karena lebih fleksibel daripada tipe data LONG. Di bawah ini adalah beberapa keuntungan utama LOB dibandingkan tipe data PANJANG.

  • Jumlah kolom pada tabel dengan tipe data LONG dibatasi 1, sedangkan tabel tidak memiliki batasan jumlah kolom dengan tipe data LOB.
  • Alat antarmuka data menerima tipe data LOB dari tabel selama replikasi data, tetapi alat ini menghilangkan kolom PANJANG dari tabel. Kolom LONG ini perlu direplikasi secara manual.
  • Ukuran kolom PANJANG 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, itu selalu baik untuk menggunakan tipe data LOB daripada tipe data LONG. Berikut adalah tipe data LOB yang berbeda. Mereka dapat menyimpan hingga ukuran 128 terabyte.

  1. GUMPAL
  2. CLOB dan NCLOB
  3. BFILE
Tipe data Deskripsi Sintaksis
GUMPAL

Tipe data ini menyimpan data LOB dalam format file biner hingga ukuran maksimum 128 TB. Ini tidak menyimpan data berdasarkan detail set karakter, sehingga dapat menyimpan data yang tidak terstruktur seperti objek multimedia, gambar, dll.

Binary_data BLOB;

Penjelasan Sintaks:

  • Di atas, variabel 'Binary_data' dideklarasikan sebagai BLOB.
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 himpunan karakter, 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:

  • Di atas, variabel 'Charac_data' dideklarasikan sebagai tipe data CLOB.
BFILE
  • BFILE adalah tipe data yang menyimpan data format biner tidak terstruktur di luar database sebagai file sistem operasi.
  • Ukuran BFILE adalah untuk sistem operasi terbatas, dan mereka adalah file hanya-baca dan tidak dapat dimodifikasi.

Ringkasan

Kami telah membahas berbagai tipe data sederhana yang tersedia di PL / SQL bersama dengan sintaksnya. Kita akan belajar tentang tipe data kompleks dalam topik lebih lanjut.