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 |
|
