PL /SQL Data Types

PL /SQL-variabler, konstanter og parametre må ha en gyldig datatype, som angir et lagringsformat, begrensninger, og gyldig verdiområde. Denne opplæringen vil ta deg gjennom SCALAR Hotell og LOB
typer data tilgjengelig i PL /SQL og to andre datatyper vil bli dekket i andre kapitler.
Kategori
Beskrivelse
ScalarSingle verdier med ingen interne komponenter, for eksempel et nummer, dato, eller BOOLEAN.Large Object (LOB) Pekere til store objekter som er lagret separat fra andre dataelementer, for eksempel tekst, grafiske bilder, videoklipp, og lyd bølgeformer. CompositeData elementer som har interne komponenter som kan nås individuelt. For eksempel, samlinger og poster. ReferencePointers til andre dataelementer
PL /SQL Scalar datatyper og Subtyper

PL /SQL Skalar datatyper og Subtyper kommer inn under følgende kategorier:.
Dato Type
Beskrivelse
NumericNumeric verdiene som aritmetiske operasjoner er performed.CharacterAlphanumeric verdier som representerer enkelttegn eller strenger av characters.BooleanLogical verdiene som logiske operasjoner utføres. DatetimeDates og tider.

PL /SQL gir subtyper av datatyper. For eksempel har datatypen NUMBER en subtype kalt heltall. Du kan bruke undertyper i PL /SQL-programmet for å gjøre datatyper som er kompatible med datatyper i andre programmer mens embedding PL /SQL-kode i et annet program, for eksempel et Java-program.

PL /SQL Numerisk datatyper og Subtyper

Følgende er detaljene i PL /SQL forhåndsdefinerte typer numeriske data og deres undertyper:
Datatype
Beskrivelse
PLS_INTEGERSigned heltall innenfor rekkevidde -2,147,483,648 gjennom 2147483647, representert i 32 bitsBINARY_INTEGERSigned heltall innenfor rekkevidde -2,147,483,648 gjennom 2147483647, representert i 32 bitsBINARY_FLOATSingle presisjon IEEE 754-format flyttalls numberBINARY_DOUBLEDouble presisjon IEEE 754-format flyttalls numberNUMBER (prec, skala) fast punkt eller flyttall nummer med absoluttverdi i serien 1E-130 til (men ikke inkludert) 1.0E126. ET NUMMER variabel kan også representere 0.DEC (prec, skala) ANSI bestemt fast punkt type med maksimal presisjon på 38 desimal digits.DECIMAL (prec, skala) IBM bestemt fast punkt type med maksimal presisjon på 38 desimal digits.NUMERIC ( pre, secale) Flytende type med maksimal presisjon på 38 desimal digits.DOUBLE PRECISIONANSI bestemt flyt type med maksimal presisjon av 126 binære siffer (ca. 38 desimale sifre) FLOATANSI og IBM bestemt flyttalls type med maksimal presisjon av 126 binære siffer ( ca 38 desimalar) INTANSI bestemt heltall type med maksimal presisjon på 38 desimal digitsINTEGERANSI og IBM bestemt heltall type med maksimal presisjon på 38 desimal digitsSMALLINTANSI og IBM bestemt heltall type med maksimal presisjon på 38 desimal digitsREALFloating-punkts type med maksimal presisjon på 63 binære siffer (ca 18 desimalar)

Følgende er et gyldig erklæring:
ERKLÆRER num1 INTEGER; num2 REAL; num3 dobbel presisjon; BEGIN null; END; /

Når koden ovenfor er kompilert og henrettet, gir det følgende resultat:
PL /SQL-prosedyren ble fullført
PL /SQL Character datatyper og Subtyper

Følgende er detaljene i PL /SQL forhåndsdefinerte datategntyper og deres undertyper:
Datatype
Beskrivelse
CHARFixed lengde tegnstreng med maksimal størrelse på 32 767 bytesVARCHAR2Variable -Lengde tegnstreng med maksimal størrelse på 32 767 bytesRAWVariable-lengde binær eller byte streng med maksimal størrelse på 32,767 bytes, ikke kan tolkes av PL /SQLNCHARFixed lengde nasjonale tegnstreng med maksimal størrelse på 32 767 bytesNVARCHAR2Variable lengde nasjonale tegnstreng med maksimal størrelse på 32 767 bytesLONGVariable lengde tegnstreng med maksimal størrelse på 32 760 bytesLONG RAWVariable lengde binær eller byte streng med maksimal størrelse på 32,760 bytes, ikke kan tolkes av PL /SQLROWIDPhysical rad identifikator, adressen til en rad i en vanlig tableUROWIDUniversal rad identifikator (fysisk, logisk, eller utenlandsk rad identifikator)
PL /SQL boolsk datatyper

boolsk
data type butikker logiske verdier som brukes i logiske operasjoner. De logiske verdiene er de boolske verdiene sant og usant, og verdien NULL.

Men, har SQL ingen datatype tilsvarer BOOLEAN. Derfor kan boolske verdier ikke brukes i:

SQL-setninger

Innebygd SQL-funksjoner (for eksempel TO_CHAR)

PL /SQL-funksjoner som påberopes fra SQL-setninger

PL /SQL Datetime og intervall Typer

DATE
datatype til å lagre fast- lengde datetimes, som inkluderer den tiden av dagen i sekunder siden midnatt. Gyldige datoer spenner fra 1. januar 4712 BC til 31. desember 9999 AD.

Standard datoformat er satt av Oracle initialisering parameter NLS_DATE_FORMAT. For eksempel kan standard være "DD-Man-YY", som inkluderer en to-sifret nummer for den dagen i måneden, en forkortelse av måneden navn, og de to siste sifrene i årstallet, for eksempel 01- OKT-12.

Hver DATE inkluderer tallet, år, måned, dag, time, minutt og sekund. Tabellen nedenfor viser de gyldige verdiene for hvert felt:
Feltnavn
Gyldige datetime-verdier
Gyldige intervallverdier
ÅR 4712-9999 (unntatt år 0) Enhver null integerMONTH01 til 120 til 11DAY01 til 31 (begrenset av verdiene for måned og år, i henhold til reglene i kalenderen for den locale) Enhver null integerHOUR00 til 230 til 23MINUTE00 til 590 til 59SECOND00 til 59,9 (n), hvor 9 (n) er presisjonen tid brøk seconds0 til 59,9 (n), hvor 9 (n) er presisjonen i intervallet brøk secondsTIMEZONE_HOUR-12 til 14 (range plass til sommertid og vintertid) Ikke applicableTIMEZONE_MINUTE00 til 59Not applicableTIMEZONE_REGIONFound i den dynamiske ytelsen utsikt V $ TIMEZONE_NAMESNot applicableTIMEZONE_ABBRFound i det dynamiske ytelse view V $ TIMEZONE_NAMESNot gjeldende
PL /SQL stort objekt (LOB) Datatyper

stort objekt (LOB) datatyper referere stor til dataelementer som tekst, grafiske bilder, videoklipp og lyd bølgeformer . LOB datatyper tillate effektiv, tilfeldig, stykkevis tilgang til disse dataene. Følgende er de forhåndsdefinerte PL /SQL LOB datatyper:
Datatype
Beskrivelse
Størrelse
BFILEUsed å lagre store binære objekter i operativsystemfiler utenfor database.System avhengig. Kan ikke overstige 4 gigabyte (GB) .BLOBUsed å lagre store binære objekter i database.8 128 terabyte (TB) CLOBUsed å lagre store datablokker tegn i database.8 til 128 TBNCLOBUsed å lagre store blokker av nchar data i database.8 til 128 TB
PL /SQL brukerdefinerte Subtyper

En subtype er en undergruppe av en annen datatype, som er kalt sin base type. En subtype har de samme gyldige operasjoner som sin base type, men bare en undergruppe av sine gyldige verdier.

PL /SQL forhåndsdefinerer flere undergrupper i pakken STANDARD. For eksempel, PL /SQL forhåndsdefinerer subtyper karakter og INTEGER som følger:
SUBTYPE karakter er CHAR; SUBTYPE heltall NUMMER (38,0);

Du kan definere og bruke dine egne undergrupper. Følgende program viser definere og bruke en brukerdefinert subtype:
ERKLÆRER SUBTYPE navn er char (20); SUBTYPE melding ER varchar2 (100); hilsen navn; hilsener melding; BEGIN hilsen: = 'Reader'; hilsener: = 'Velkommen til World of PL /SQL'; dbms_output.put_line ('Hello' || hilsen || hilsener), END; /

Når ovenfor koden kjøres på SQL teksten, gir det følgende resultat:
Hei Reader Velkommen til World of PL /SQLPL /SQL-prosedyren ble fullført.
NULL i PL /SQL

PL /SQL NULL verdier representerer manglende eller ukjente data, og de er ikke et heltall, et tegn, eller noen annen bestemt datatype. Legg merke til at NULL er ikke det samme som en tom datastreng eller nulltegnet verdien '\\ 0'. En null kan tildeles, men det kan ikke sammenlignes med noe, inkludert seg selv.