Oracle PL/SQL adattípusok: logikai érték, szám, dátum [példa]
⚡ Okos összefoglaló
A PL/SQL adattípusok határozzák meg, hogyan Oracle tárolja, kezeli és korlátozza az egyes értékeket egy blokkban. Karakter-, szám-, logikai-, dátum- és nagy objektum (LOB) családokba csoportosulnak, mindegyiknek saját tárolási formátuma, méretkorlátai és hozzárendelési szabályai vannak.

Mik azok a PL/SQL adattípusok?
Adattípusok PL/SQL-ben definiálja, hogyan tárolja, kezeli és kezeli az adatokat Oracle tárolás és feldolgozás során. Az adattípusok egy adott tárolási formátumhoz és tartománykorlátozásokhoz vannak társítva. Oracle, minden értékhez vagy konstanshoz hozzárendelünk egy adattípust.
A fő különbség a PL/SQL és SQL Az adattípusok lényege, hogy az SQL adattípusok a táblázat oszlopaira korlátozódnak, míg a PL/SQL adattípusokat a PL/SQL blokkok. Erről bővebben később az oktatóanyagban.
A következő ábra a különböző Oracle PL/SQL adattípusok:

PL/SQL KARAKTER Adattípus
Ez az adattípus alfanumerikus karaktereket tárol karakterlánc formátumban. A literálértékeket mindig aposztrófok közé kell tenni, ha CHARACTER adattípushoz rendeljük őket.
Ez a karakter adattípus a következőképpen osztályozható:
- CHAR adattípus (fix karakterláncméret)
- VARCHAR2 adattípus (változó karakterláncméret)
- VARCHAR adattípus
- NCHAR (natív rögzített karakterláncméret)
- NVARCHAR2 (natív változó karakterláncméret)
- HOSSZÚ és HOSSZÚ RAW
| Adattípus | Leírás | Szintaxis |
|---|---|---|
| CHAR | Ez az adattípus egy karakterlánc értéket tárol, és a karakterlánc mérete a deklaráláskor rögzített. változó.
|
grade CHAR; manager CHAR (10):= 'guru99'; Szintaxis magyarázata:
|
| VARCHAR2 | Ez az adattípus egy karakterláncot tárol, de a hossza nem rögzített.
|
manager VARCHAR2(10) := 'guru99'; Szintaxis magyarázata:
|
| VARCHAR | Ez a VARCHAR2 adattípus szinonimája.
|
manager VARCHAR(10) := 'guru99'; Szintaxis magyarázata:
|
| NCHAR | Ez az adattípus megegyezik a CHAR adattípussal, de a karakterkészlet a nemzeti karakterkészlet.
|
native NCHAR(10);
Szintaxis magyarázata:
|
| NVARCHAR2 | Ez az adattípus megegyezik a VARCHAR2 adattípussal, de a karakterkészlet a nemzeti karakterkészlet.
|
Native_var NVARCHAR2(10):= 'guru99'; Szintaxis magyarázata:
|
| HOSSZÚ és HOSSZÚ RAW | Ez az adattípus nagyméretű szöveget vagy nyers adatokat tárol, legfeljebb 2 GB méretben.
|
Large_text LONG; Large_raw LONG RAW; Szintaxis magyarázata:
Jegyzet: A LONG adattípus használata nem ajánlott. OracleEhelyett a LOB adattípust kell előnyben részesíteni. |
PL/SQL SZÁM Adattípus
Ez az adattípus fix vagy lebegőpontos számokat tárol legfeljebb 38 jegy pontossággal. Olyan mezők kezelésére szolgál, amelyek csak számadatokat tartalmaznak. A változó deklarálható pontossággal és decimális jegyadatokkal, vagy azok nélkül. Az értékeket hozzárendeléskor nem kell idézőjelek közé tenni.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Szintaxis magyarázata:
- Az első deklaráció az 'A' változót numerikus adattípussal deklarálja, teljes pontossággal 8 és 2 tizedesjegy pontossággal.
- A második a 'B' szám adattípust deklarálja, teljes pontossággal 8 és tizedesjegyek nélkül.
- A harmadik a legáltalánosabb, 'C' szám adattípust deklarál, pontossági vagy tizedesjegyekre vonatkozó korlátozás nélkül. Legfeljebb 38 számjegyet vehet fel.
PL/SQL BOOLEAN adattípus
Ez az adattípus logikai értékeket tárol. Oracle A logikai adattípus IGAZ vagy HAMIS értéket jelöl, és főként feltételes utasításokban használják. Az értékeket hozzárendeléskor nem kell idézőjelek közé tenni.
Var1 BOOLEAN;
Szintaxis magyarázata:
- A „Var1” változó BOOLEAN adattípusként van deklarálva. A kimenet igaz vagy hamis lesz a beállított feltételtől függően.
PL/SQL DÁTUM Adattípus
Ez az adattípus dátumformátumban tárolja az értékeket, például dátum, hónap és év formájában. Amikor egy változó DATE adattípussal van definiálva, időinformációkat is tárolhat; alapértelmezés szerint az idő 12:00:00-ra van állítva, ha nincs megadva. Az értékeket idézőjelek közé kell tenni hozzárendeléskor.
A szabvány Oracle A bemenet és a kimenet időformátuma 'NN-HÓ-ÉÉ', amely az NLS_PARAMETERS (NLS_DATE_FORMAT) paraméterben van beállítva munkamenet-szinten.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Szintaxis magyarázata:
- A „newyear” változó DATE adattípusként van deklarálva, és a 2015. január 1-jei értéket kapja.
- A második deklaráció a „current_date” értéket DATE adattípusként deklarálja, és hozzárendeli az aktuális rendszerdátumot.
- Mindkét változó tartalmazza az időbeli információkat.
PL/SQL LOB adattípus
Ezt az adattípust főként nagyméretű, strukturálatlan adatblokkok, például képek és multimédiás fájlok tárolására és kezelésére használják. Oracle A LOB adattípust részesíti előnyben a LONG adattípussal szemben, mivel rugalmasabb. A LOB fő előnyei a LONG-gal szemben a következők:
- Egy tábla egyetlen LONG oszlopra korlátozódik, míg a LOB oszlopok számára nincs korlátozás.
- Az adatinterfész eszközök elfogadják a LOB oszlopokat a replikáció során, de kihagyják a LONG oszlopokat, amelyeket manuálisan kell replikálni.
- Egy LONG oszlop akár 2 GB-ot is tárolhat, míg egy LOB akár 128 TB-ot is.
- Oracle A LOB adattípus minden kiadással folyamatosan fejlődik, míg a LONG nagyrészt változatlan.
Tehát mindig érdemes a LOB adattípust használni a LONG helyett. Az alábbi különböző LOB adattípusok akár 128 terabájtot is tárolhatnak:
- FOLT
- CLOB és NCLOB
- BFILE
| Adattípus | Leírás | Szintaxis |
|---|---|---|
| FOLT | Ez az adattípus LOB-adatokat tárol bináris fájlformátumban, maximum 128 TB méretben. Nem tárol karakterkészlet-részletek alapján adatokat, így strukturálatlan adatokat, például multimédiás objektumokat és képeket is képes tárolni. |
Binary_data BLOB;
Szintaxis magyarázata:
|
| CLOB és NCLOB | A CLOB a LOB adatokat a karakterkészletben tárolja, míg az NCLOB a natív karakterkészletben. Mivel ezek karakterkészlet alapú tárolást használnak, nem tudnak olyan adatokat tárolni, mint a multimédia vagy a képek. A maximális méret 128 TB. |
Charac_data CLOB;
Szintaxis magyarázata:
|
| BFILE |
|
