Oracle PL/SQL-gegevenstypen: Boolean, getal, datum [voorbeeld]
โก Slimme samenvatting
PL/SQL-datatypen definiรซren hoe Oracle Slaat elke waarde in een blok op, verwerkt deze en legt er beperkingen aan. Ze worden gegroepeerd in families voor tekens, getallen, Booleaanse waarden, datums en grote objecten (LOB's), elk met een eigen opslagformaat, groottelimieten en toewijzingsregels.

Wat zijn PL/SQL-datatypen?
Datatypen Definieer in PL/SQL hoe gegevens worden opgeslagen, verwerkt en behandeld. Oracle Tijdens opslag en verwerking. Gegevenstypen zijn gekoppeld aan een specifiek opslagformaat en bereikbeperkingen. In OracleAan elke waarde of constante wordt een gegevenstype toegekend.
Het belangrijkste verschil tussen PL/SQL en SQL Een verschil tussen SQL-datatypen is dat ze beperkt zijn tot tabelkolommen, terwijl PL/SQL-datatypen worden gebruikt in de PL/SQL-blokkenHierover later in de tutorial meer.
Hieronder staat een diagram van de verschillende Oracle PL/SQL-datatypen:

PL/SQL KARAKTER Gegevenstype
Dit gegevenstype slaat alfanumerieke tekens op in tekenreeksformaat. Letterlijke waarden moeten altijd tussen enkele aanhalingstekens worden geplaatst wanneer ze aan een CHARACTER-gegevenstype worden toegewezen.
Dit karaktergegevenstype wordt verder als volgt geclassificeerd:
- CHAR-datatype (vaste tekenreeksgrootte)
- VARCHAR2-datatype (variabele tekenreeksgrootte)
- VARCHAR-datatype
- NCHAR (native vaste tekenreeksgrootte)
- NVARCHAR2 (native variabele tekenreeksgrootte)
- LANG en LANG RAUW
| Data type | Beschrijving | Syntaxis |
|---|---|---|
| CHAR | Dit gegevenstype slaat een tekenreeks op, en de grootte van de tekenreeks is vastgelegd op het moment van declaratie. variabele.
|
grade CHAR; manager CHAR (10):= 'guru99'; Syntaxis uitleg:
|
| VARCHAR2 | Dit gegevenstype slaat een tekenreeks op, maar de lengte is niet vast.
|
manager VARCHAR2(10) := 'guru99'; Syntaxis uitleg:
|
| VARCHAR | Dit is synoniem met het VARCHAR2-gegevenstype.
|
manager VARCHAR(10) := 'guru99'; Syntaxis uitleg:
|
| NCHAR | Dit gegevenstype is hetzelfde als CHAR, maar de tekenset is de nationale tekenset.
|
native NCHAR(10);
Syntaxis uitleg:
|
| NVARCHAR2 | Dit gegevenstype is hetzelfde als VARCHAR2, maar de tekenset is de nationale tekenset.
|
Native_var NVARCHAR2(10):= 'guru99'; Syntaxis uitleg:
|
| LANG en LANG RAUW | Dit gegevenstype slaat grote tekstbestanden of onbewerkte gegevens op tot een maximale grootte van 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Syntaxis uitleg:
Let op: Het gebruik van het gegevenstype LONG wordt niet aanbevolen. OracleHet gegevenstype LOB verdient de voorkeur. |
PL/SQL NUMBER Gegevenstype
Dit gegevenstype slaat vaste- of drijvende-komma-getallen op met een precisie tot 38 cijfers. Het wordt gebruikt voor velden die alleen numerieke gegevens bevatten. De variabele kan worden gedeclareerd met of zonder precisie- en decimale-cijferspecificaties. Waarden hoeven niet tussen aanhalingstekens te worden geplaatst bij toewijzing.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Syntaxis uitleg:
- De eerste declaratie declareert de variabele 'A' van het gegevenstype getal met een totale precisie van 8 en 2 decimalen.
- De tweede declaratie geeft 'B' aan als een getal met een totale precisie van 8 en zonder decimalen.
- De derde is de meest algemene, waarbij 'C' wordt gedeclareerd als numeriek gegevenstype zonder beperking op precisie of decimalen. Het kan maximaal 38 cijfers bevatten.
PL/SQL BOOLEAN-gegevenstype
Dit gegevenstype slaat logische waarden op. Oracle Het gegevenstype Boolean staat voor WAAR of ONWAAR en wordt voornamelijk gebruikt in voorwaardelijke statements. Waarden hoeven niet tussen aanhalingstekens te worden geplaatst bij toewijzing.
Var1 BOOLEAN;
Syntaxis uitleg:
- De variabele 'Var1' is gedeclareerd als een BOOLEAN-datatype. De uitvoer zal waar of onwaar zijn, afhankelijk van de ingestelde voorwaarde.
PL/SQL DATE-gegevenstype
Dit gegevenstype slaat waarden op in datumformaat, als datum, maand en jaar. Wanneer een variabele is gedefinieerd met het gegevenstype DATE, kan deze tijdsinformatie bevatten; standaard is de tijd ingesteld op 12:00:00 als deze niet is gespecificeerd. Waarden moeten tussen aanhalingstekens worden geplaatst bij toewijzing.
De standaard Oracle Het tijdformaat voor invoer en uitvoer is 'DD-MON-JJ', dat is ingesteld bij NLS_PARAMETERS (NLS_DATE_FORMAT) op sessieniveau.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Syntaxis uitleg:
- De variabele 'newyear' is gedeclareerd als gegevenstype DATE en heeft de waarde 1 januari 2015 toegewezen gekregen.
- De tweede declaratie definieert 'current_date' als gegevenstype DATE en kent de huidige systeemdatum toe.
- Beide variabelen bevatten tijdsinformatie.
PL/SQL LOB-gegevenstype
Dit gegevenstype wordt voornamelijk gebruikt voor het opslaan en bewerken van grote hoeveelheden ongestructureerde data, zoals afbeeldingen en multimediabestanden. Oracle De voorkeur gaat uit naar LOB boven het LONG-datatype omdat het flexibeler is. De belangrijkste voordelen van LOB ten opzichte van LONG zijn:
- Een tabel is beperkt tot รฉรฉn LONG-kolom, terwijl er geen beperking is op het aantal LOB-kolommen.
- Data-interfacetools accepteren LOB-kolommen tijdens replicatie, maar slaan LONG-kolommen over; deze moeten handmatig worden gerepliceerd.
- Een LONG-kolom kan tot 2 GB aan gegevens opslaan, terwijl een LOB tot 128 TB kan opslaan.
- Oracle Het LOB-datatype wordt met elke release verbeterd, terwijl LONG grotendeels ongewijzigd blijft.
Het is daarom altijd beter om het LOB-datatype te gebruiken in plaats van LONG. De verschillende LOB-datatypes hieronder kunnen tot 128 terabyte aan gegevens opslaan:
- BLOB
- CLOB en NCLOB
- B-BESTAND
| Data type | Beschrijving | Syntaxis |
|---|---|---|
| BLOB | Dit gegevenstype slaat LOB-gegevens op in binair bestandsformaat tot een maximum van 128 TB. Het slaat geen gegevens op basis van tekensetdetails op, waardoor het ongestructureerde gegevens zoals multimediaobjecten en afbeeldingen kan opslaan. |
Binary_data BLOB;
Syntaxis uitleg:
|
| CLOB en NCLOB | CLOB slaat LOB-gegevens op in de tekenset, terwijl NCLOB gegevens opslaat in de oorspronkelijke tekenset. Omdat deze opslagmethoden gebruikmaken van een op de tekenset gebaseerde opslag, kunnen ze geen gegevens zoals multimedia of afbeeldingen opslaan. De maximale grootte is 128 TB. |
Charac_data CLOB;
Syntaxis uitleg:
|
| B-BESTAND |
|
