Oracle PL/SQL-tietotyypit: Boolen arvo, numero, päivämäärä [esimerkki]
Mikä on PL/SQL-tietotyypit?
Tietotyypit PL/SQL:ssä käytetään määrittämään, kuinka tiedot tallennetaan, käsitellään ja käsitellään Oracle tietojen tallennuksen ja käsittelyn aikana. Tietotyypit liittyvät tiettyyn tallennusmuotoon ja alueen rajoituksiin. Sisään Oracle, jokaiselle arvolle tai vakiolle on määritetty tietotyyppi.
Suurin ero PL/SQL:n ja SQL tietotyypit on, SQL-tietotyyppi on rajoitettu taulukon sarakkeeseen, kun taas PL/SQL-tietotyyppejä käytetään PL/SQL-lohkot. Tästä lisää myöhemmin opetusohjelmassa.
Seuraavassa on kaavio eri Oracle PL/SQL-tietotyypit:
PL/SQL CHARACTER Tietotyyppi
Tämä tietotyyppi tallentaa periaatteessa aakkosnumeeriset merkit merkkijonomuodossa.
Kirjaimelliset arvot tulee aina sulkea lainausmerkeissä, kun ne määritetään CHARACTER-tietotyypille.
Tämä merkkitietotyyppi luokitellaan edelleen seuraavasti:
- CHAR Tietotyyppi (kiinteä merkkijonokoko)
- VARCHAR2 Tietotyyppi (muuttuva merkkijonokoko)
- VARCHAR Tietotyyppi
- NCHAR (natiivi kiinteä merkkijonokoko)
- NVARCHAR2 (natiivimuuttujan merkkijonokoko)
- PITKÄ ja PITKÄ RAW
Tietotyyppi | Tuotetiedot | Syntaksi |
---|---|---|
HIILTYÄ | Tämä tietotyyppi tallentaa merkkijonon arvon, ja merkkijonon koko on kiinteä ilmoitushetkellä muuttuja.
|
grade CHAR; manager CHAR (10):= 'guru99'; Syntaksiselitys:
|
VARCHAR2 | Tämä tietotyyppi tallentaa merkkijonon, mutta merkkijonon pituus ei ole kiinteä.
|
manager VARCHAR2(10) := ‘guru99'; Syntaksiselitys:
|
VARCHAR | Tämä on synonyymi VARCHAR2-tietotyypille.
|
manager VARCHAR(10) := ‘guru99'; Syntaksiselitys:
|
NCHAR | Tämä tietotyyppi on sama kuin CHAR-tietotyyppi, mutta kansallisen merkistön merkistö.
|
native NCHAR(10); Syntaksiselitys:
|
NVARCHAR2 |
Tämä tietotyyppi on sama kuin VARCHAR2-tietotyyppi, mutta merkistö on kansallista merkistöä.
|
Native var NVARCHAR2(10):='guru99'; Syntaksiselitys:
|
PITKÄ ja PITKÄ | Tätä tietotyyppiä käytetään suuren tekstin tai raakadatan tallentamiseen enintään 2 Gt:n kokoon.
|
Large_text LONG; Large_raw LONG RAW; Syntaksiselitys:
Huomautus: LONG-tietotyypin käyttöä ei suositella Oracle. Sen sijaan LOB-tietotyyppiä tulisi suosia. |
PL/SQL NUMERO Tietotyyppi
Tämä tietotyyppi tallentaa kiinteitä tai liukulukuja enintään 38 numeron tarkkuudella. Tätä tietotyyppiä käytetään kenttien kanssa, jotka sisältävät vain numerotietoja. Muuttuja voidaan ilmoittaa joko tarkkuudella ja desimaalinumeroilla tai ilman näitä tietoja. Arvojen ei tarvitse olla lainausmerkeissä tälle tietotyypille määritettäessä.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Syntaksiselitys:
- Yllä olevassa ensimmäinen ilmoitus ilmoittaa, että muuttuja 'A' on numerotietotyyppiä kokonaistarkkuudella 8 ja desimaaliluvuilla 2.
- Toinen ilmoitus ilmoittaa, että muuttuja 'B' on numerotietotyyppiä kokonaistarkkuudella 8 eikä siinä ole desimaalilukuja.
- Kolmas ilmoitus on yleisin, ilmoittaa muuttuja 'C' on numerotietotyyppiä ilman rajoituksia tarkkuudessa tai desimaalipisteissä. Se voi kestää enintään 38 numeroa.
PL/SQL BOOLEAN-tietotyyppi
Tämä tietotyyppi tallentaa loogiset arvot. Oracle Boolen tietotyyppi edustaa joko TOSI tai EPÄTOSI, ja sitä käytetään pääasiassa ehdollisissa lauseissa. Arvojen ei tarvitse olla lainausmerkeissä tälle tietotyypille määritettäessä.
Var1 BOOLEAN;
Syntaksiselitys:
- Yllä olevassa muuttuja 'Var1' on ilmoitettu BOOLEAN-tietotyypiksi. Koodin tulos on joko tosi tai epätosi ehtojoukon perusteella.
PL/SQL DATE Tietotyyppi
Tämä tietotyyppi tallentaa arvot päivämäärämuodossa, kuten päivämäärä, kuukausi ja vuosi. Aina kun muuttuja on määritetty DATE-tietotyypillä yhdessä päivämäärän kanssa, se voi sisältää aikatietoja ja oletusarvoisesti aikatiedot on asetettu arvoon 12:00:00, jos sitä ei ole määritetty. Arvot on lisättävä lainausmerkkeihin määritettäessä tälle tietotyypille.
Standardi Oracle syötteen ja lähdön aikamuoto on "DD-MON-YY", ja se on jälleen asetettu arvoon NLS_PARAMETERS (NLS_DATE_FORMAT) istuntotasolla.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
Syntaksiselitys:
- Yllä olevassa muuttuja 'newyear' on ilmoitettu DATE-tietotyypiksi ja sille on annettu arvo 1.st, 2015 päivämäärä.
- Toinen ilmoitus ilmoittaa muuttujan current_date tietotyypiksi PÄIVÄYS ja määrittää arvon nykyisen järjestelmän päivämäärän kanssa.
- Molemmat muuttujat sisältävät aikatiedot.
PL/SQL LOB-tietotyyppi
Tätä tietotyyppiä käytetään pääasiassa suurten strukturoimattomien tietojen, kuten kuvien, multimediatiedostojen jne., tallentamiseen ja käsittelemiseen. Oracle pitää parempana LOB-tietotyyppiä LONG-tietotyypin sijaan, koska se on joustavampi kuin LONG-tietotyyppi. Alla on muutamia LOB:n tärkeimpiä etuja LONG-tietotyyppiin verrattuna.
- LONG-tietotyypin taulukon sarakkeiden lukumäärä on rajoitettu yhteen, kun taas taulukossa ei ole rajoituksia sarakkeiden lukumäärälle, jossa on LOB-tietotyyppi.
- Tietorajapintatyökalu hyväksyy taulukon LOB-tietotyypin tietojen replikoinnin aikana, mutta jättää pois taulukon LONG-sarakkeen. Nämä LONG-sarakkeet on kopioitava manuaalisesti.
- LONG-sarakkeen koko on 2 Gt, kun taas LOBiin mahtuu jopa 128 TB.
- Oracle parantaa jatkuvasti kunkin julkaisunsa LOB-tietotyyppiä nykyaikaisten vaatimusten mukaisesti, kun taas LONG-tietotyyppi on vakio eikä päivityksiä tule paljon.
Joten on aina hyvä käyttää LOB-tietotyyppiä LONG-tietotyypin sijaan. Seuraavassa on eri LOB-tietotyypit. Ne voivat tallentaa jopa 128 teratavun kokoa.
- BLOB
- CLOB ja NCLOB
- BFILE
Tietotyyppi | Tuotetiedot | Syntaksi |
---|---|---|
BLOB | Tämä tietotyyppi tallentaa LOB-tiedot binääritiedostomuodossa 128 TB:n enimmäiskokoon asti. Tämä ei tallenna merkistöjen yksityiskohtiin perustuvia tietoja, jotta se voi tallentaa strukturoimatonta dataa, kuten multimediaobjekteja, kuvia jne. |
Binary_data BLOB; Syntaksiselitys:
|
CLOB ja NCLOB | CLOB-tietotyyppi tallentaa LOB-tiedot merkistöyn, kun taas NCLOB tallentaa tiedot alkuperäiseen merkistöyn. Koska nämä tietotyypit käyttävät merkistöpohjaista tallennustilaa, ne eivät voi tallentaa tietoja, kuten multimediaa, kuvia jne., joita ei voida laittaa merkkijonoon. Näiden tietotyyppien enimmäiskoko on 128 TB. |
Charac_data CLOB; Syntaksiselitys:
|
BFILE |
|
Yhteenveto
Olemme käsitelleet erilaisia yksinkertaisia tietotyyppejä, jotka ovat saatavilla PL / SQL yhdessä niiden syntaksin kanssa. Opimme monimutkaisista tietotyypeistä lisäaiheissa.