Hva er PL / SQL-datatyper?
En datatype er assosiert med det spesifikke lagringsformatet og begrensningene for området. I Oracle tildeles hver verdi eller konstant en datatype.
I utgangspunktet definerer den hvordan dataene lagres, håndteres og behandles av Oracle under datalagring og -behandling.
Hovedforskjellen mellom PL / SQL- og SQL-datatyper er at SQL-datatypen er begrenset til tabellkolonne mens PL / SQL-datatypene brukes i PL / SQL-blokkene. Mer om dette senere i veiledningen.
Følgende er diagrammet over forskjellige datatyper i PL / SQL
I denne veiledningen vil du lære-
- TEGN Datatype
- NUMBER Datatype
- BOOLEAN Datatype
- DATE Datatype
- LOB Datatype
CHARACTER Datatype:
Denne datatypen lagrer i utgangspunktet alfanumeriske tegn i strengformat.
Bokstavverdiene bør alltid legges inn i enkle anførselstegn mens de tilordnes til karaktertypen CHARACTER.
Denne karakterdatatypen er videre klassifisert som følger:
- CHAR Datatype (fast strengstørrelse)
- VARCHAR2 Datatype (variabel strengstørrelse)
- VARCHAR Datatype
- NCHAR (innfødt fast strengstørrelse)
- NVARCHAR2 (innfødt variabel strengstørrelse)
- LANG og LANG RÅ
Data-type | Beskrivelse | Syntaks |
---|---|---|
CHAR | Denne datatypen lagrer strengverdien, og størrelsen på strengen blir løst på tidspunktet for deklarering av variabelen.
|
grade CHAR;manager CHAR (10):= 'guru99';Syntaks Forklaring:
|
VARCHAR2 | Denne datatypen lagrer strengen, men lengden på strengen er ikke fast.
|
manager VARCHAR2(10) := ‘guru99';Syntaks Forklaring:
|
VARCHAR | Dette er synonymt med VARCHAR2-datatypen.
|
manager VARCHAR(10) := ‘guru99';Syntaks Forklaring:
|
NCHAR | Denne datatypen er den samme som CHAR-datatypen, men tegnsettet vil av det nasjonale tegnsettet.
|
native NCHAR(10);Syntaks Forklaring:
|
NVARCHAR2 | Denne datatypen er den samme som VARCHAR2-datatypen, men tegnsettet vil være av det nasjonale tegnsettet.
|
Native var NVARCHAR2(10):='guru99';Syntaks Forklaring:
|
LANGT og LANGT | Denne datatypen brukes til å lagre stor tekst eller rådata opp til maksimal størrelse på 2 GB.
|
Large_text LONG;Large_raw LONG RAW;Syntaks Forklaring:
|
NUMBER Datatype:
Denne datatypen lagrer faste eller flytende tall med opptil 38 presisjonssifre. Denne datatypen brukes til å arbeide med felt som bare inneholder talldata. Variabelen kan deklareres enten med presisjon og desimalsifrede detaljer eller uten denne informasjonen. Verdier trenger ikke å inngå i anførselstegn mens de tildeles for denne datatypen.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Syntaks Forklaring:
- I det ovennevnte erklærer den første erklæringen at variabelen 'A' er av datatype med total presisjon 8 og desimaltall 2.
- Den andre erklæringen erklærer at variabelen 'B' er av datatype med total presisjon 8 og ingen desimaltegn.
- Den tredje erklæringen er den mest generiske, erklærer at variabelen 'C' er av datatype uten begrensning i presisjon eller desimaler. Det kan ta opptil maksimalt 38 sifre.
BOOLEAN Datatype:
Denne datatypen lagrer de logiske verdiene. Den representerer enten SANT eller FALSK og brukes hovedsakelig i betingede uttalelser. Verdier trenger ikke å inngå i anførselstegn mens de tildeles for denne datatypen.
Var1 BOOLEAN;
Syntaks Forklaring:
- I ovenstående er variabel 'Var1' erklært som BOOLEAN datatype. Utgangen av koden vil være enten sant eller usant basert på betingelsessettet.
DATE Datatype:
Denne datatypen lagrer verdiene i datoformat, som dato, måned og år. Hver gang en variabel er definert med DATE-datatypen sammen med datoen, kan den inneholde tidsinformasjon, og som standard er tidsinformasjon satt til 12:00:00 hvis den ikke er spesifisert. Verdiene må inngå i anførselstegn mens de tildeles for denne datatypen.
Standard Oracle-tidsformat for input og output er 'DD-MON-YY' og det er igjen satt til NLS_PARAMETERS (NLS_DATE_FORMAT) på øktnivå.
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Syntaks Forklaring:
- Ovenfor variable 'newyear' er erklært som DATO datatype og tildelt verdien av den første januar st , 2015 dato.
- Den andre erklæringen erklærer variabelen current_date som DATE-datatype og tilordnet verdien med gjeldende systemdato.
- Begge disse variablene inneholder tidsinformasjonen.
LOB datatype:
Denne datatypen brukes hovedsakelig til å lagre og manipulere store blokker av ustrukturerte data som bilder, multimediafiler osv. Oracle foretrekker LOB i stedet for a LONG datatype, da den er mer fleksibel enn LONG datatypen. Nedenfor er de få hovedfordelene med LOB fremfor LONG datatype.
- Antall kolonner i en tabell med LONG datatype er begrenset til 1, mens en tabell ikke har noen begrensning på et antall kolonner med LOB datatype.
- Datagrensesnittverktøyet godtar LOB-datatype for tabellen under datareplikering, men den utelater LANG kolonne i tabellen. Disse LANGE kolonnene må replikeres manuelt.
- LONG-kolonnens størrelse er 2 GB, mens LOB kan lagre opptil 128 TB.
- Oracle forbedrer kontinuerlig LOB-datatypen i hver av utgivelsene i henhold til det moderne kravet, mens LONG-datatypen er konstant og ikke får mange oppdateringer.
Så det er alltid bra å bruke LOB-datatype i stedet for LONG-datatypen. Følgende er de forskjellige LOB-datatypene. De kan lagre opptil 128 terabyte.
- BLOB
- CLOB og NCLOB
- BFIL
Data-type | Beskrivelse | Syntaks |
---|---|---|
BLOB |
Denne datatypen lagrer LOB-dataene i det binære filformatet opp til maksimal størrelse på 128 TB. Dette lagrer ikke data basert på tegnsettdetaljene, slik at de kan lagre ustrukturerte data som multimediaobjekter, bilder osv. |
Binary_data BLOB; Syntaks Forklaring:
|
CLOB og NCLOB |
CLOB-datatypen lagrer LOB-dataene i tegnsettet, mens NCLOB lagrer dataene i det opprinnelige tegnsettet. Siden disse datatypene bruker tegnsettbasert lagring, kan disse ikke lagre dataene som multimedia, bilder osv. Som ikke kan settes i en tegnstreng. Maksimal størrelse på disse datatypene er 128 TB. |
Charac_data CLOB; Syntaks Forklaring:
|
BFIL |
|
Sammendrag
Vi har dekket de forskjellige enkle datatypene som er tilgjengelige i PL / SQL sammen med syntaksen. Vi vil lære om komplekse datatyper i ytterligere emner.