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.
