Jenis Data Oracle PL / SQL: Boolean, Number, Date (Contoh)

Isi kandungan:

Anonim

Apakah Jenis Pangkalan Data PL / SQL?

Jenis data dikaitkan dengan format penyimpanan dan batasan julat tertentu. Di Oracle, setiap nilai atau pemalar ditetapkan dengan jenis data.

Pada dasarnya, ia menentukan bagaimana data disimpan, dikendalikan dan dirawat oleh Oracle semasa penyimpanan dan pemprosesan data.

Perbezaan utama antara jenis data PL / SQL dan SQL adalah, jenis data SQL terbatas pada lajur jadual sementara jenis data PL / SQL digunakan di blok PL / SQL. Lebih lanjut mengenai ini kemudian dalam tutorial.

Berikut adalah rajah Jenis Data yang berbeza dalam PL / SQL

Dalam tutorial ini, anda akan belajar-

  • Jenis Data KARAKTER
  • NOMBOR Jenis Data
  • Jenis Data BOOLEAN
  • Jenis Data TARIKH
  • Jenis Data LOB

Jenis Data KARAKTER:

Jenis data ini pada dasarnya menyimpan aksara alfanumerik dalam format rentetan.

Nilai harfiah harus selalu disertakan dalam tanda petik tunggal sambil memberikannya kepada jenis data KARAKTER.

Jenis data watak ini dikelaskan lagi seperti berikut:

  • Jenis data CHAR (ukuran rentetan tetap)
  • Jenis data VARCHAR2 (ukuran rentetan berubah-ubah)
  • Jenis data VARCHAR
  • NCHAR (saiz rentetan tetap asli)
  • NVARCHAR2 (saiz rentetan pemboleh ubah asli)
  • RAWAK PANJANG dan PANJANG
Jenis data Penerangan Sintaks
CAJ Jenis data ini menyimpan nilai rentetan, dan ukuran rentetan tetap pada saat menyatakan pemboleh ubah.
  • Oracle akan dibiarkan kosong pembolehubah jika pemboleh ubah tidak menempati keseluruhan ukuran yang telah dinyatakan untuknya, Oleh itu Oracle akan mengalokasikan memori untuk ukuran yang dinyatakan walaupun pemboleh ubah tidak menggunakannya sepenuhnya.
  • Batasan ukuran untuk jenis data ini ialah 1-2000 bait.
  • Jenis data CHAR lebih sesuai digunakan di mana sahaja yang tetap, ukuran data akan dikendalikan.
grade CHAR;manager CHAR (10):= 'guru99';
Penjelasan Sintaks:
  • Pernyataan pengisytiharan pertama menyatakan pemboleh ubah 'gred' jenis data CHAR dengan ukuran maksimum 1 bait (nilai lalai).
  • Pernyataan deklarasi kedua menyatakan pemboleh ubah 'pengurus' jenis data CHAR dengan ukuran maksimum 10 dan memberikan nilai 'guru99' iaitu 6 bait. Oracle akan memperuntukkan memori 10 bait dan bukannya 6 bait dalam kes ini.
VARCHAR2 Jenis data ini menyimpan rentetan, tetapi panjang tali tidak tetap.
  • Batasan ukuran untuk jenis data ini ialah 1-4000 bait untuk ukuran lajur jadual dan 1-32767 bait untuk pemboleh ubah.
  • Ukuran ditentukan untuk setiap pemboleh ubah pada masa pembaharuan pembaharuan.
  • Tetapi Oracle akan mengalokasikan memori hanya setelah pemboleh ubah ditentukan, iaitu, Oracle hanya akan mempertimbangkan panjang sebenarnya tali yang disimpan dalam pemboleh ubah untuk peruntukan memori dan bukannya ukuran yang telah diberikan untuk pemboleh ubah di bahagian deklarasi.
  • Lebih baik menggunakan VARCHAR2 dan bukannya jenis data CHAR untuk mengoptimumkan penggunaan memori.
manager VARCHAR2(10) := ‘guru99';
Penjelasan Sintaks:
  • Pernyataan pengisytiharan di atas menyatakan pemboleh ubah 'pengurus' jenis data VARCHAR2 dengan ukuran maksimum 10 dan memberikan nilai 'guru99' iaitu 6 bait. Oracle akan memperuntukkan memori hanya 6 bait dalam kes ini.
VARCHAR Ini sinonim dengan jenis data VARCHAR2.
  • Menjadi amalan yang baik untuk menggunakan VARCHAR2 dan bukannya VARCHAR untuk mengelakkan perubahan tingkah laku.
manager VARCHAR(10) := ‘guru99';
Penjelasan Sintaks:
  • Pernyataan pengisytiharan di atas mengisytiharkan pemboleh ubah 'pengurus' jenis data VARCHAR dengan ukuran maksimum 10 dan memberikan nilai 'guru99' iaitu 6 bait. Oracle akan memperuntukkan memori hanya 6 bait dalam kes ini. (Mirip dengan VARCHAR2)
NCHAR Jenis data ini sama dengan jenis data CHAR, tetapi set watak akan set watak nasional.
  • Kumpulan watak ini dapat ditentukan untuk sesi menggunakan NLS_PARAMETERS.
  • Kumpulan watak boleh berupa UTF16 atau UTF8.
  • Sekatan saiz adalah 1-2000 bait.
native NCHAR(10);
Penjelasan Sintaks:
  • Pernyataan pengisytiharan di atas menyatakan pemboleh ubah 'asli' dari jenis data NCHAR dengan ukuran maksimum 10.
  • Panjang pemboleh ubah ini bergantung pada (bilangan panjang) per bait seperti yang ditentukan dalam kumpulan watak.
NVARCHAR2 Jenis data ini sama dengan jenis data VARCHAR2, tetapi set watak akan terdiri daripada set watak nasional.
  • Kumpulan watak ini dapat ditentukan untuk sesi menggunakan NLS_PARAMETERS.
  • Kumpulan watak boleh berupa UTF16 atau UTF8.
  • Sekatan saiznya ialah 1-4000 bait.
Native var NVARCHAR2(10):='guru99';
Penjelasan Sintaks:
  • Pernyataan pengisytiharan di atas menyatakan pemboleh ubah 'Native_var' dari jenis data NVARCHAR2 dengan ukuran maksimum 10.
PANJANG dan LONGRAW Jenis data ini digunakan untuk menyimpan teks besar atau data mentah hingga ukuran maksimum 2GB.
  • Ini digunakan terutamanya dalam kamus data.
  • Jenis data LONG digunakan untuk menyimpan data kumpulan watak, sementara LONG RAW digunakan untuk menyimpan data dalam format binari.
  • Jenis data LONG RAW menerima objek media, gambar, dan lain-lain sedangkan LONG hanya berfungsi pada data yang dapat disimpan menggunakan set watak.
Large_text LONG;Large_raw LONG RAW;
Penjelasan Sintaks:
  • Pernyataan pengisytiharan di atas menyatakan pemboleh ubah 'Large_text' dari jenis data LONG dan 'Large_raw' dari jenis data LONG RAW.
Catatan: Menggunakan jenis data LONG tidak digalakkan oleh Oracle. Sebaliknya, jenis data LOB harus diutamakan.

NOMBOR Jenis Data:

Jenis data ini menyimpan nombor titik tetap atau terapung hingga 38 digit ketepatan. Jenis data ini digunakan untuk bekerja dengan bidang yang hanya akan mengandungi data bilangan. Pemboleh ubah boleh dinyatakan sama ada dengan perincian digit tepat dan perpuluhan atau tanpa maklumat ini. Nilai tidak perlu dimasukkan dalam tanda kutip semasa menetapkan untuk jenis data ini.

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

Penjelasan Sintaks:

  • Di atas, deklarasi pertama menyatakan pemboleh ubah 'A' adalah jenis data nombor dengan jumlah ketepatan 8 dan digit perpuluhan 2.
  • Deklarasi kedua menyatakan pemboleh ubah 'B' adalah jenis data nombor dengan ketepatan total 8 dan tanpa digit perpuluhan.
  • Deklarasi ketiga adalah yang paling umum, menyatakan pemboleh ubah 'C' adalah jenis data nombor tanpa batasan pada tempat tepat atau perpuluhan. Ia boleh mengambil maksimum 38 digit.

Jenis Data BOOLEAN:

Jenis data ini menyimpan nilai logik. Ini mewakili sama ada BENAR atau SALAH dan digunakan terutamanya dalam pernyataan bersyarat. Nilai tidak perlu dimasukkan dalam tanda kutip semasa menetapkan untuk jenis data ini.

Var1 BOOLEAN;

Penjelasan Sintaks:

  • Di atas, pemboleh ubah 'Var1' dinyatakan sebagai jenis data BOOLEAN. Keluaran kod tersebut akan benar atau salah berdasarkan syarat yang ditetapkan.

Jenis Data TARIKH:

Jenis data ini menyimpan nilai dalam format tarikh, seperti tarikh, bulan, dan tahun. Bila-bila masa pemboleh ubah ditentukan dengan jenis data DATE beserta tarikhnya dapat menyimpan maklumat waktu dan secara lalai maklumat waktu ditetapkan pada 12:00:00 jika tidak ditentukan. Nilai perlu dilampirkan dalam tanda kutip semasa menetapkan untuk jenis data ini.

Format waktu Oracle standard untuk input dan output adalah 'DD-MON-YY' dan sekali lagi ditetapkan pada NLS_PARAMETERS (NLS_DATE_FORMAT) pada tahap sesi.

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

Penjelasan Sintaks:

  • Dalam, 'newyear' di atas pembolehubah diisytiharkan sebagai jenis data TARIKH dan diberikan nilai 1 Jan st , 2015 setakat ini.
  • Deklarasi kedua menyatakan pemboleh ubah current_date sebagai jenis data DATE dan memberikan nilai dengan tarikh sistem semasa.
  • Kedua-dua pemboleh ubah ini menyimpan maklumat masa.

Jenis Data LOB:

Jenis data ini digunakan terutamanya untuk menyimpan dan memanipulasi blok besar data tidak berstruktur seperti gambar, fail multimedia, dan lain-lain. Oracle lebih suka LOB dan bukannya jenis data LONG kerana lebih fleksibel daripada jenis data LONG. Berikut adalah beberapa kelebihan utama LOB berbanding jenis data LONG.

  • Jumlah lajur dalam jadual dengan jenis data LONG adalah terhad kepada 1, sedangkan jadual tidak mempunyai batasan pada sebilangan lajur dengan jenis data LOB.
  • Alat antara muka data menerima jenis data LOB jadual semasa replikasi data, tetapi ia menghilangkan lajur LONG jadual. Lajur PANJANG ini perlu ditiru secara manual.
  • Ukuran lajur LONG adalah 2GB, sedangkan LOB boleh menyimpan hingga 128 TB.
  • Oracle sentiasa meningkatkan jenis data LOB dalam setiap keluarannya mengikut kehendak moden, sedangkan jenis data LONG tetap dan tidak mendapat banyak kemas kini.

Jadi, selalu baik menggunakan jenis data LOB dan bukannya jenis data LONG. Berikut adalah jenis data LOB yang berbeza. Mereka boleh menyimpan sehingga 128 terabyte.

  1. BLOB
  2. CLOB dan NCLOB
  3. BILIK
Jenis data Penerangan Sintaks
BLOB

Jenis data ini menyimpan data LOB dalam format fail binari hingga ukuran maksimum 128 TB. Ini tidak menyimpan data berdasarkan perincian set watak, sehingga dapat menyimpan data yang tidak tersusun seperti objek multimedia, gambar, dll.

Binary_data BLOB;

Penjelasan Sintaks:

  • Di atas, pemboleh ubah 'Binary_data' dinyatakan sebagai BLOB.
CLOB dan NCLOB

Jenis data CLOB menyimpan data LOB ke dalam set watak, sedangkan NCLOB menyimpan data dalam set watak asli. Oleh kerana jenis data ini menggunakan penyimpanan berdasarkan set karakter, data ini tidak dapat menyimpan data seperti multimedia, gambar, dll. Yang tidak dapat dimasukkan ke dalam rentetan karakter. Ukuran maksimum jenis data ini ialah 128 TB.

Charac_data CLOB;

Penjelasan Sintaks:

  • Di atas, pemboleh ubah 'Charac_data' dinyatakan sebagai jenis data CLOB.
BILIK
  • BFILE adalah jenis data yang menyimpan data format binari tidak berstruktur di luar pangkalan data sebagai fail sistem operasi.
  • Ukuran BFILE adalah untuk sistem operasi terhad, dan mereka adalah fail hanya baca dan tidak dapat diubah.

Ringkasan

Kami telah membahas pelbagai jenis data mudah yang terdapat dalam PL / SQL bersama dengan sintaksnya. Kami akan belajar mengenai jenis data yang kompleks dalam topik selanjutnya.