Oracle PL/SQL-Datentypen: Boolescher Wert, Zahl, Datum [Beispiel]
Was sind PL/SQL-Datentypen?
Datentypen in PL/SQL werden verwendet, um zu definieren, wie die Daten gespeichert, verarbeitet und behandelt werden Oracle während der Datenspeicherung und -verarbeitung. Datentypen sind mit dem spezifischen Speicherformat und den Bereichseinschränkungen verknüpft. In Oraclewird jedem Wert bzw. jeder Konstante ein Datentyp zugewiesen.
Der Hauptunterschied zwischen PL/SQL und SQL Datentypen sind, dass SQL-Datentypen auf Tabellenspalten beschränkt sind, während die PL/SQL-Datentypen in verwendet werden PL/SQL-Blöcke. Mehr dazu später im Tutorial.
Nachfolgend sehen Sie das Diagramm der verschiedenen Oracle PL/SQL-Datentypen:

PL/SQL CHARACTER-Datentyp
Dieser Datentyp speichert grundsätzlich alphanumerische Zeichen im String-Format.
Die Literalwerte sollten bei der Zuweisung zum Datentyp CHARACTER immer in einfache Anführungszeichen gesetzt werden.
Dieser Zeichendatentyp wird weiter wie folgt klassifiziert:
- CHAR Datentyp (feste Stringgröße)
- VARCHAR2 Datentyp (variable Stringgröße)
- VARCHAR-Datentyp
- NCHAR (native feste Zeichenfolgengröße)
- NVARCHAR2 (native variable Zeichenfolgengröße)
- LANG und LANG ROH
Dateityp | Beschreibung | Syntax |
---|---|---|
VERKOHLEN | Dieser Datentyp speichert den Zeichenfolgenwert und die Größe der Zeichenfolge wird zum Zeitpunkt der Deklaration festgelegt Variable.
|
grade CHAR; manager CHAR (10):= 'guru99'; Syntaxerklärung:
|
VARCHAR2 | Dieser Datentyp speichert die Zeichenfolge, die Länge der Zeichenfolge ist jedoch nicht festgelegt.
|
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 der CHAR-Datentyp, der Zeichensatz entspricht jedoch dem nationalen Zeichensatz.
|
native NCHAR(10); Syntaxerklärung:
|
NVARCHAR2 |
Dieser Datentyp ist derselbe wie der Datentyp VARCHAR2, der Zeichensatz entspricht jedoch dem nationalen Zeichensatz.
|
Native var NVARCHAR2(10):='guru99'; Syntaxerklärung:
|
LANG und LANG | Dieser Datentyp wird zum Speichern großer Text- oder Rohdaten bis zu einer maximalen Größe von 2 GB verwendet.
|
Large_text LONG; Large_raw LONG RAW; Syntaxerklärung:
Hinweis: Die Verwendung des Datentyps LONG wird von nicht empfohlen Oracle. Stattdessen sollte der Datentyp LOB bevorzugt werden. |
PL/SQL NUMBER-Datentyp
Dieser Datentyp speichert Fest- oder Gleitkommazahlen mit einer Genauigkeit von bis zu 38 Stellen. Dieser Datentyp wird für die Arbeit mit Feldern verwendet, die nur Zahlendaten enthalten. Die Variable kann entweder mit Genauigkeits- und Dezimalstellendetails oder ohne diese Informationen deklariert werden. Werte müssen bei der Zuweisung für diesen Datentyp nicht in Anführungszeichen gesetzt werden.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Syntaxerklärung:
- Oben erklärt die erste Deklaration, dass die Variable „A“ vom Zahlendatentyp mit einer Gesamtgenauigkeit von 8 und 2 Dezimalstellen ist.
- Die zweite Deklaration gibt an, dass die Variable „B“ vom Datentyp „Zahl“ mit einer Gesamtgenauigkeit von 8 und ohne Dezimalstellen ist.
- Die dritte Deklaration ist die allgemeinste. Sie deklariert die Variable „C“ als Zahlendatentyp ohne Einschränkung hinsichtlich Genauigkeit oder Dezimalstellen. Sie kann maximal 38 Ziffern enthalten.
PL/SQL BOOLEAN-Datentyp
Dieser Datentyp speichert die logischen Werte. Oracle Der boolesche Datentyp stellt entweder WAHR oder FALSCH dar und wird hauptsächlich in bedingten Anweisungen verwendet. Bei der Zuweisung für diesen Datentyp müssen Werte nicht in Anführungszeichen gesetzt werden.
Var1 BOOLEAN;
Syntaxerklärung:
- Oben ist die Variable „Var1“ als Datentyp BOOLEAN deklariert. Die Ausgabe des Codes ist je nach festgelegter Bedingung entweder wahr oder falsch.
PL/SQL-DATE-Datentyp
Dieser Datentyp speichert die Werte im Datumsformat, als Datum, Monat und Jahr. Immer wenn eine Variable mit dem Datentyp DATE zusammen mit dem Datum definiert wird, kann sie Zeitinformationen enthalten. Standardmäßig werden Zeitinformationen auf 12:00:00 gesetzt, wenn keine Angabe erfolgt. Werte müssen bei der Zuweisung für diesen Datentyp in Anführungszeichen gesetzt werden.
Die Standard Oracle Das Zeitformat für Ein- und Ausgabe ist „TT-MON-JJ“ und wird auf Sitzungsebene wiederum auf NLS_PARAMETERS (NLS_DATE_FORMAT) festgelegt.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
Syntaxerklärung:
- Oben wurde die Variable „newyear“ als Datentyp DATE deklariert und ihr wurde der Wert „1. Januar“ zugewiesenst, Datum 2015.
- Die zweite Deklaration deklariert die Variable current_date als DATE-Datentyp und weist ihr den Wert mit dem aktuellen Systemdatum zu.
- Diese beiden Variablen enthalten die Zeitinformationen.
PL/SQL LOB-Datentyp
Dieser Datentyp wird hauptsächlich zum Speichern und Bearbeiten großer Blöcke unstrukturierter Daten wie Bilder, Multimediadateien usw. verwendet. Oracle bevorzugt LOB anstelle eines LONG-Datentyps, da dieser flexibler ist als der LONG-Datentyp. Im Folgenden sind einige Hauptvorteile des LOB-Datentyps gegenüber dem LONG-Datentyp aufgeführt.
- Die Anzahl der Spalten in einer Tabelle mit dem Datentyp LONG ist auf 1 begrenzt, wohingegen eine Tabelle keine Beschränkung auf die Anzahl der Spalten mit dem Datentyp LOB hat.
- Das Datenschnittstellentool akzeptiert während der Datenreplikation den Datentyp LOB der Tabelle, lässt jedoch die Spalte LONG der Tabelle aus. Diese LONG-Spalten müssen manuell repliziert werden.
- Die Größe der LONG-Spalte beträgt 2 GB, während LOB bis zu 128 TB speichern kann.
- Oracle verbessert den LOB-Datentyp in jeder seiner Versionen ständig entsprechend den modernen Anforderungen, während der LONG-Datentyp konstant ist und nicht viele Updates erhält.
Daher ist es immer gut, den LOB-Datentyp anstelle des LONG-Datentyps zu verwenden. Im Folgenden sind die verschiedenen LOB-Datentypen aufgeführt. Sie können bis zu einer Größe von 128 Terabyte speichern.
- BLOB
- CLOB und NCLOB
- BFILE
Dateityp | Beschreibung | Syntax |
---|---|---|
BLOB | Dieser Datentyp speichert die LOB-Daten im Binärdateiformat bis zu einer maximalen Größe von 128 TB. Dabei werden keine Daten basierend auf den Zeichensatzdetails gespeichert, sodass unstrukturierte Daten wie Multimediaobjekte, Bilder usw. gespeichert werden können. |
Binary_data BLOB; Syntaxerklärung:
|
CLOB und NCLOB | Der Datentyp CLOB speichert die LOB-Daten im Zeichensatz, während NCLOB die Daten im nativen Zeichensatz speichert. Da diese Datentypen eine zeichensatzbasierte Speicherung verwenden, können sie keine Daten wie Multimedia, Bilder usw. speichern, die nicht in eine Zeichenfolge eingefügt werden können. Die maximale Größe dieser Datentypen beträgt 128 TB. |
Charac_data CLOB; Syntaxerklärung:
|
BFILE |
|
Zusammenfassung
Wir haben die verschiedenen einfachen Datentypen behandelt, die in verfügbar sind PL / SQL zusammen mit ihrer Syntax. In weiteren Themen lernen wir mehr über komplexe Datentypen.