Oracle PL/SQL-Datentypen: Boolescher Wert, Zahl, Datum [Beispiel]
⚡ Intelligente Zusammenfassung
PL/SQL-Datentypen definieren, wie Oracle Speichert, verarbeitet und beschränkt jeden Wert in einem Block. Sie werden in die Familien Zeichen, Zahl, Boolescher Wert, Datum und Large Object (LOB) eingeteilt, jede mit ihrem eigenen Speicherformat, Größenbeschränkungen und Zuweisungsregeln.

Was sind PL/SQL-Datentypen?
Datentypen In PL/SQL wird definiert, wie Daten gespeichert, verarbeitet und behandelt werden. Oracle Während der Speicherung und Verarbeitung werden Datentypen einem bestimmten Speicherformat und Bereichsbeschränkungen zugeordnet. OracleJedem Wert oder jeder Konstante wird ein Datentyp zugewiesen.
Der Hauptunterschied zwischen PL/SQL und SQL Der Unterschied zwischen SQL- und PL/SQL-Datentypen besteht darin, dass SQL-Datentypen auf Tabellenspalten beschränkt sind, während PL/SQL-Datentypen in der gesamten Datenbank verwendet werden. PL/SQL-Blöcke. Mehr dazu später im Tutorial.
Nachfolgend ein Diagramm der verschiedenen Oracle PL/SQL-Datentypen:

PL/SQL CHARACTER-Datentyp
Dieser Datentyp speichert alphanumerische Zeichen im Zeichenkettenformat. Die Literalwerte müssen beim Zuweisen zu einem CHARACTER-Datentyp immer in einfache Anführungszeichen eingeschlossen werden.
Dieser Zeichendatentyp wird weiter wie folgt klassifiziert:
- CHAR-Datentyp (feste Zeichenkettenlänge)
- VARCHAR2-Datentyp (variable Zeichenkettenlänge)
- VARCHAR-Datentyp
- NCHAR (native feste Zeichenfolgengröße)
- NVARCHAR2 (native variable Zeichenfolgengröße)
- LANG und LANG ROH
| Dateityp | Beschreibung | Syntax |
|---|---|---|
| VERKOHLEN | Dieser Datentyp speichert einen Zeichenkettenwert, dessen Größe bei der Deklaration festgelegt wird. Variable.
|
grade CHAR; manager CHAR (10):= 'guru99'; Syntaxerklärung:
|
| VARCHAR2 | Dieser Datentyp speichert eine Zeichenkette, deren Länge jedoch nicht festgelegt ist.
|
manager VARCHAR2(10) := 'guru99'; Syntaxerklärung:
|
| VARCHAR | Dies ist gleichbedeutend mit dem Datentyp VARCHAR2.
|
manager VARCHAR(10) := 'guru99'; Syntaxerklärung:
|
| NCHAR | Dieser Datentyp ist derselbe wie CHAR, aber der Zeichensatz ist der nationale Zeichensatz.
|
native NCHAR(10);
Syntaxerklärung:
|
| NVARCHAR2 | Dieser Datentyp ist derselbe wie VARCHAR2, aber der Zeichensatz ist der nationale Zeichensatz.
|
Native_var NVARCHAR2(10):= 'guru99'; Syntaxerklärung:
|
| LANG und LANG ROH | Dieser Datentyp speichert große Text- oder Rohdatenmengen mit einer maximalen Größe von 2 GB.
|
Large_text LONG; Large_raw LONG RAW; Syntaxerklärung:
Hinweis: Die Verwendung des Datentyps LONG wird nicht empfohlen von OracleDer Datentyp LOB sollte stattdessen bevorzugt werden. |
PL/SQL NUMBER-Datentyp
Dieser Datentyp speichert Festkomma- oder Gleitkommazahlen mit bis zu 38 Nachkommastellen. Er wird für Felder verwendet, die ausschließlich Zahlen enthalten. Die Variable kann mit oder ohne Angabe der Genauigkeit und der Nachkommastellen deklariert werden. Werte müssen bei der Zuweisung nicht in Anführungszeichen gesetzt werden.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Syntaxerklärung:
- Die erste Deklaration deklariert die Variable 'A' vom Datentyp Zahl mit einer Gesamtgenauigkeit von 8 und 2 Dezimalstellen.
- Die zweite Angabe deklariert 'B' vom Datentyp Zahl mit einer Gesamtgenauigkeit von 8 und ohne Dezimalstellen.
- Der dritte Typ ist der allgemeinste und deklariert den Datentyp „C“ für Zahlen ohne Einschränkungen hinsichtlich Genauigkeit oder Dezimalstellen. Er kann bis zu 38 Stellen aufnehmen.
PL/SQL BOOLEAN-Datentyp
Dieser Datentyp speichert logische Werte. Oracle Der Datentyp Boolean repräsentiert entweder WAHR oder FALSCH und wird hauptsächlich in bedingten Anweisungen verwendet. Werte müssen bei der Zuweisung nicht in Anführungszeichen gesetzt werden.
Var1 BOOLEAN;
Syntaxerklärung:
- Die Variable 'Var1' ist als BOOLEAN-Datentyp deklariert. Die Ausgabe ist je nach der festgelegten Bedingung entweder wahr oder falsch.
PL/SQL-DATE-Datentyp
Dieser Datentyp speichert Werte im Datumsformat (Tag, Monat, Jahr). Variablen vom Typ DATE können auch Zeitinformationen enthalten; standardmäßig wird die Uhrzeit auf 12:00:00 gesetzt, sofern nichts anderes angegeben ist. Werte müssen bei der Zuweisung in Anführungszeichen gesetzt werden.
Die Standard Oracle Das Zeitformat für Ein- und Ausgabe ist 'TT-MON-JJ', das auf Sitzungsebene bei NLS_PARAMETERS (NLS_DATE_FORMAT) festgelegt wird.
newyear DATE:= '01-JAN-2015'; current_date DATE:= SYSDATE;
Syntaxerklärung:
- Die Variable 'newyear' ist als Datentyp DATE deklariert und ihr wurde der Wert 1. Januar 2015 zugewiesen.
- Die zweite Deklaration deklariert 'current_date' als DATE-Datentyp und weist ihm das aktuelle Systemdatum zu.
- Beide Variablen enthalten Zeitinformationen.
PL/SQL LOB-Datentyp
Dieser Datentyp wird hauptsächlich zum Speichern und Bearbeiten großer Blöcke unstrukturierter Daten wie Bilder und Multimediadateien verwendet. Oracle LOB wird gegenüber dem Datentyp LONG bevorzugt, da er flexibler ist. Die Hauptvorteile von LOB gegenüber LONG sind:
- Eine Tabelle ist auf eine LONG-Spalte beschränkt, während es keine Beschränkung für die Anzahl der LOB-Spalten gibt.
- Datenschnittstellentools akzeptieren LOB-Spalten während der Replikation, lassen aber LONG-Spalten aus, die manuell repliziert werden müssen.
- Eine LONG-Spalte speichert bis zu 2 GB, während eine LOB-Spalte bis zu 128 TB speichern kann.
- Oracle Der LOB-Datentyp wird mit jeder neuen Version verbessert, während LONG weitgehend unverändert bleibt.
Daher ist es stets ratsam, den Datentyp LOB anstelle von LONG zu verwenden. Die verschiedenen unten aufgeführten LOB-Datentypen können bis zu 128 Terabyte speichern:
- BLOB
- CLOB und NCLOB
- BFILE
| Dateityp | Beschreibung | Syntax |
|---|---|---|
| BLOB | Dieser Datentyp speichert LOB-Daten im Binärdateiformat bis zu einer maximalen Größe von 128 TB. Er speichert keine Daten basierend auf Zeichensatzdetails, sodass er unstrukturierte Daten wie Multimedia-Objekte und Bilder speichern kann. |
Binary_data BLOB;
Syntaxerklärung:
|
| CLOB und NCLOB | CLOB speichert LOB-Daten im Zeichensatz, NCLOB hingegen im nativen Zeichensatz. Da diese Speichertypen zeichensatzbasiert sind, können sie keine Daten wie Multimedia oder Bilder speichern. Die maximale Größe beträgt 128 TB. |
Charac_data CLOB;
Syntaxerklärung:
|
| BFILE |
|
