pl sql data types variables
In diesem Tutorial werden anhand von Programmierbeispielen ausführlich erläutert, was PL SQL-Datentypen, Variablen, Konstanten und Literale sind:
Im vorherigen Tutorial der PL / SQL-Serie Wir haben PL / SQL mit seinen Funktionen und seiner grundlegenden Syntax anhand von Beispielen kennengelernt.
In diesem Artikel werden die verschiedenen Datentypen erläutert, die PL / SQL unterstützt. Außerdem werden wir die Variablen und Konstanten untersuchen, die in PL SQL ausführlich verwendet werden.
PL / SQL-Literale sind ebenfalls wichtig, und wir werden sie in diesem Tutorial zusammen mit ihrer praktischen Verwendung kennenlernen.
Was du lernen wirst:
Pl SQL-Datentypen
Alle Variablen, Konstanten und Parameter von PL / SQL haben einen bestimmten Datentyp, der den Wertebereich, die Einschränkungen und das Format definiert, in dem sie gespeichert sind. PL / SQL enthält Datentypen wie Large Object, auch als LOB, Scalar, Reference und Composite bekannt.
Skalare Datentypen
Lassen Sie uns zunächst die skalaren Datentypen diskutieren, die aus folgenden Elementen bestehen:
- NUMERISCH Datentypen, die sich mit Werten befassen, für die mathematische Operationen ausgeführt werden.
- BOOLEAN Datentypen, die sich mit den Werten befassen, für die logische Operationen ausgeführt werden.
- CHARAKTER Datentypen, die sich mit alphanumerischen Werten befassen.
- TERMINZEIT Datentypen.
Numerische Datentypen
Der numerische Datentyp von PL / SQL besteht aus folgenden Elementen:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DEZIMAL
- NUMERISCH
- NUMMER
- SCHWEBEN
- INT
- GANZE ZAHL
- DOPPELTE GENAUIGKEIT
- ECHT
- SMALLINT
- DEZ
Code-Snippet mit numerischen Datentypen:
DECLARE numA INTEGER := 10; numB NUMBER(10) := 10.8; numC DOUBLE PRECISION := 10.6; BEGIN dbms_output.put_line('The numA is: ' || numA); dbms_output.put_line('The numB is: ' || numB); dbms_output.put_line('The numC is: ' || numC); END; /
Im obigen Code haben wir die Datentypen INTEGER, NUMBER und DOUBLE PRECISION mit den Variablen numA, numB und numC. numB hat einen Zahlendatentyp mit der Genauigkeit 10 und keine Nachkommastellen.
Die Ausgabe des obigen Codes sollte sein:
Zeichendatentypen
Die Zeichendatentypen von PL / SQL bestehen aus den folgenden Elementen:
# 1) VARCHAR2: Dieser Datentyp speichert Zeichenfolgen, aber die Zeichenfolgenlänge ist zum Zeitpunkt der Deklaration nicht festgelegt. Der varchar2 hat eine maximale Größe von bis zu 32767 Bytes. Die maximale Breite einer varchar2-Datenbankspalte beträgt 4000 Byte.
Syntax:
test VARCHAR2 (20): = 'SoftwareTest';
# 2) CHAR: Dieser Datentyp speichert Zeichenfolgen, aber die Zeichenfolgenlänge ist zum Zeitpunkt der Deklaration festgelegt. Das Zeichen hat eine maximale Größe von bis zu 32767 Bytes. Die maximale Breite einer char-Datenbankspalte beträgt 2000 Byte.
Syntax:
Test CHAR2 (20): = 'SoftwareTest';
# 3) NCHAR: Dies ähnelt CHAR, speichert jedoch nur den nationalen Zeichensatz. Das NCHAR hat eine maximale Größe von bis zu 32767 Bytes. Die maximale Breite einer NCHAR-Datenbankspalte beträgt 2000 Byte.
Syntax:
Test NCHAR2 (20);
# 4) LANG: Dadurch werden Zeichenfolgen variabler Länge gespeichert. Der Long hat eine maximale Größe von bis zu 32760 Bytes.
Syntax:
Test LANG;
# 5) LANGE REIHE: Dadurch werden Daten im Binärformat oder in Byte-Zeichenfolgen gespeichert. Die lange Zeile hat eine maximale Größe von bis zu 32760 Byte.
Fragen und Antworten zum Interview mit Netzwerktechnikern in Cisco
Syntax:
Test LANGE REIHE;
# 6) ROWID: Dies sind die physischen Bezeichner einer Zeile, die auf die Adresse einer Zeile in einer normalen Tabelle verweisen.
# 7) UROWID: Dies sind die universellen Bezeichner von Zeilen.
# 8) NVARCHAR2: Dies ähnelt VARCHAR2, speichert jedoch nur den nationalen Zeichensatz. Die maximale Breite einer nvarchar2-Datenbankspalte beträgt 4000 Byte.
# 9) VARCHAR: Dies ähnelt VARCHAR2.
Syntax:
test VARCHAR2 (20): = 'SoftwareTest';
Lassen Sie uns nun die Zeichendatentypen von PL / SQL in Tabellenform diskutieren.
Sl. Nein. | Datentyp | Beschreibung |
---|---|---|
7 | LANG | Dies ist ähnlich wie bei LONG. Diese Daten werden von PL / SQL nicht interpretiert. |
1 | VARCHAR2 | Dies wird zum Speichern der Zeichendaten mit variabler Länge verwendet. Die Größe wird für die Variablen zum Zeitpunkt der Deklaration festgelegt. Es wird immer empfohlen, VARCHAR2 für eine effektive Speichernutzung zu verwenden. |
zwei | VERKOHLEN | Dies wird zum Speichern der Zeichendaten mit fester Länge verwendet. Die Größe wird für die Variablen zum Zeitpunkt der Deklaration festgelegt. Es wird immer empfohlen, CHAR zu verwenden, wenn Daten mit fester Größe verwendet werden sollen. |
3 | VARCHAR | Dies ähnelt VARCHAR2. Es wird immer empfohlen, VARCHAR während der Implementierung von Code zu verwenden. |
4 | NCHAR | Dies wird zum Speichern der Zeichendaten verwendet, bei denen es sich um nationale Zeichendaten fester Länge handelt. Der Zeichensatz ist entweder UTF 8 oder UTF 16. Es wird immer empfohlen, CHAR in NCHAR zu konvertieren. Die Konvertierung von NCHAR in CHAR kann jedoch zu Datenkürzungen führen. |
5 | NVARCHAR2 | Dies wird zum Speichern der Zeichendaten verwendet, bei denen es sich um nationale Zeichendaten variabler Länge handelt. Dies ähnelt VARCHAR2. Der Zeichensatz ist entweder UTF 8 oder UTF 16. Es wird immer empfohlen, VARCHAR2 in NVARCHAR2 zu konvertieren. Die Konvertierung von NVARCHAR2 in VARCHAR2 kann jedoch zu Datenkürzungen führen. |
6 | LANGE | Dies wird in einem Datenwörterbuch verwendet. Dies wird hauptsächlich in Zeichensatzdaten verwendet. |
Boolesche Datentypen
Diese Datentypen von PL / SQL können zum Speichern logischer Werte verwendet werden. TRUE, FALSE und NULL sind die Booleschen Werte.
SQL hat keine BOOLEAN-Datentypen. Daher müssen wir sie in den folgenden Szenarien vermeiden:
- Aus SQL generierte PL / SQL-Anweisungen.
- Standardfunktionen von PL / SQL.
- Normale SQL-Anweisungen.
Syntax:
test Boolean;
Die Ausgabe der Testvariablen ist abhängig von bestimmten Kriterien TRUE oder FALSE.
Datum Uhrzeit Datentypen
Diese Datentypen werden für konstante Längen von Datum und Uhrzeit verwendet. Der richtige Datumsbereich beginnt am 1. Januar 4712 v. Chr. Bis zum 31. Dezember 9999 n. Chr., Und die Zeit wird in Sekunden angegeben. Das integrierte Datumsformat ist TT-MON-JJ. Dies impliziert zweistellige Ziffern für den Tag des Monats, kurz den Monatsnamen und dann die letzten beiden Ziffern des Jahres.
Ein DATUM besteht aus Sekunde, Minute, Tag, Stunde, Monat, Jahr und Jahrhundert. Jedes dieser Felder hat einen definierten spezifischen Bereich, wie unten aufgeführt:
- ZWEITE: Es ist im Bereich von 00 bis 59,9 definiert.
- MINUTE: Sie liegt im Bereich von 00 bis 59.
- STUNDE: Sie liegt im Bereich von 00 bis 23.
- TAG: Es ist im Bereich von 01 bis 31 definiert.
- MONAT: Es ist im Bereich von 01 bis 12 definiert.
- JAHR: Es ist im Bereich von -4712 bis 9999 definiert (ohne 0).
- TIMEZONE_HOUR: Sie liegt im Bereich von -12 bis 14.
- TIMEZONE_MINUTE: Sie liegt im Bereich von 00 bis 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Syntax:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Hier haben wir die Zeitzone mit Symbolen beschrieben. Die US / Pacific- oder PDT-Spezifikation wird verwendet, um eine bestimmte Zeitzone zu definieren. Das PDT-Formular wird meistens verwendet, da es die Richtlinien beim Umschalten auf Sommerzeit enthält.
LOB-Datentypen
Lassen Sie uns nun die LOB-Datentypen diskutieren, die sich mit riesigen Datenblöcken befassen, die aus Videos, Sounds, Grafiken, Bildern usw. bestehen.
LOB-Datentypen bieten gegenüber langen Datentypen zahlreiche Vorteile. Sie sind unten aufgeführt:
- Long kann 2 GB aufnehmen, während LOB 128 TB aufnehmen kann.
- Eine Tabelle kann eine einzelne Spalte vom Typ LONG haben, während es zahlreiche Spalten vom Datentyp LOB geben kann.
- Der LOB-Datentyp wird von Oracle ständig verbessert und aktualisiert, während der LONG-Datentyp nicht viele Verbesserungen und Aktualisierungen aufweist.
LOB-Datentypen sind unten aufgeführt:
- BFILE: Dies wird verwendet, um unstrukturierte Daten im Binärformat als Betriebssystemdatei aus der Datenbank herauszuhalten.
- NCLOB: Dies wird verwendet, um große NCHAR-Daten in der Datenbank zu speichern.
- CLOB: Dies wird verwendet, um große Daten vom Zeichentyp in der Datenbank zu speichern.
Syntax:
Binäres CLOB;
- KLECKS: Dies wird verwendet, um große Binärdaten in der Datenbank zu speichern.
Syntax:
Binäres BLOB;
Code-Implementierung mit einigen Datentypen:
DECLARE m CHAR(20) := 'softwareTest!'; n VARCHAR2(30) := 'plsql'; o NCHAR(30) := 'plsql datatypes'; p NVARCHAR2(30) := 'plsql literals'; presentDt DATE:= SYSDATE; a INTEGER := 16; b NUMBER(20) := 11.2; c DOUBLE PRECISION := 14.7; BEGIN dbms_output.put_line('The char datatype is: ' || m); dbms_output.put_line('The varchar datatype is: ' || n); dbms_output.put_line('The nchar datatype is: ' || o); dbms_output.put_line('The nvarchar2 datatype is: ' || p); dbms_output.put_line('The current date is: ' || presentDt); dbms_output.put_line('The number a is: ' || a); dbms_output.put_line('The number b is: ' || b); dbms_output.put_line('The number c is: ' || c); END; /
Die Ausgabe des obigen Codes sollte sein:
PL SQL-Variablen
PL / SQL-Variablennamen folgen der Namenskonvention, die aus alphanumerischen Zeichen von nicht mehr als dreißig besteht. Bei PL / SQL wird die Groß- und Kleinschreibung nicht berücksichtigt, und die Schlüsselwörter sollten nicht als Variable verwendet werden.
Der Variablenname sollte aussagekräftig sein und kann von einem Unterstrich (_), einer Zahl oder einem Dollar ($) gefolgt werden.
PL SQL-Variablendeklaration
PL / SQL-Variablen müssen im Deklarationsbereich verfügbar sein oder in einem Paket als globale Variable vorhanden sein. PL / SQL reserviert Speicher für die Variablen und der Speicherort wird durch den Variablennamen definiert.
Syntax für die Variablendeklaration:
variable_name [CONSTANT] datatype [NOT NULL] [:= | DEFAULT initial_value]
Hier ist der Variablenname eine authentische PL / SQL-Kennung, und der Datentyp kann ein benutzerdefinierter oder ein bestätigter PL / SQL-Datentyp sein.
Code-Implementierung für die Variablendeklaration:
DECLARE v_namis VARCHAR2(10); n_addressis NUMBER(10,3); BEGIN dbms_output.put_line('The name is: ' || v_namis); dbms_output.put_line('The address is: ' || n_addressis); END;
Die Ausgabe des obigen Codes sollte sein:
Bitte beachten Sie, Wir haben sowohl die Genauigkeit als auch die Größe des Datentyps 'Zahl' erwähnt. Dies wird als eingeschränkte Deklaration bezeichnet. Diese Art der Deklaration verbraucht weniger Speicher.
PL / SQL-Variableninitialisierung
Standardmäßig nimmt PL / SQL den Wert einer Variablen als NULL an. Wenn wir jedoch eine Variable nicht mit NULL initialisieren möchten, kann dies entweder mit dem Schlüsselwort DEFAULT oder mit dem Zuweisungsoperator erreicht werden.
Syntax:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Wir können auch definieren, dass eine Variable keinen NULL-Wert haben soll, indem wir die NOT NULL-Einschränkung erwähnen. Wenn jedoch die NOT NULL-Einschränkung verwendet wird, müssen wir einen Wert für die Variable festlegen.
Code-Implementierung mit variabler Initialisierung:
DECLARE v_namis VARCHAR2(40) := 'softwareTest!'; n_couris VARCHAR2(30) := 'plsql'; BEGIN dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || n_couris); END; /
Die Ausgabe des obigen Codes sollte sein:
Code-Implementierung mit Zuweisungskonzept:
DECLARE v_namis VARCHAR2(40); n_couris VARCHAR2(30); BEGIN v_namis := 'softwareTest!'; n_couris := 'plsql'; dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || v_couris); END; /
Hier wird der Zuweisungsoperator (=) verwendet, um der Variablen Werte zuzuweisen.
Die Ausgabe des obigen Codes sollte sein:
PL / SQL-Variablenbereich
Ein PL / SQL-Block kann innere Codeblöcke enthalten. Wenn eine deklarierte Variable Teil des inneren Blocks ist, kann sie vom äußeren Block nicht verwendet werden. Eine Variable, die Teil des äußeren Blocks ist, kann jedoch im inneren Codeblock bearbeitet werden.
Diese Arten von Variablen werden nachfolgend beschrieben:
- Globale Variablen: Die Variablen, die im äußeren Block oder Paket deklariert sind.
- Lokale Variablen: Die Variablen, die im inneren Codeblock deklariert sind und auf die vom äußeren Block nicht zugegriffen werden kann.
Code-Implementierung mit globalen und lokalen Variablen:
DECLARE -- Global variables val number := 10; BEGIN dbms_output.put_line('Global variable is : ' || val); DECLARE -- Local variables val number := 100; BEGIN dbms_output.put_line('Local variable is: ' || val); END; END; /
Die Ausgabe des obigen Codes sollte sein:
bitte beachten Sie dass die Ausgabe hier die globale Variable ist: 10 (wegen der globalen Variablen val) und 'Lokale Variable ist: 100 (wegen der lokalen Variablen val).
PL / SQL-Anker
PL / SQL-Anker werden mit dem Schlüsselwort% TYPE definiert, um Variablen mit dem Datentyp zu deklarieren, der mit dem Datentyp dieser bestimmten Spalte der Tabelle verbunden ist.
Code-Snippet mit Anker:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Hier haben wir eine RESIDENT-Tabelle und beschäftigen uns mit den Spalten NAME und ADDRESS dieser Tabelle.
Konstanten in PL / SQL
Eine Konstante hält den Wert, der einmal deklariert wurde, im gesamten Programm unverändert.
PL / SQL-Konstantendeklaration
Das KONSTANTE Das Schlüsselwort wird verwendet, um Konstanten im Programm zu definieren. Es beginnt mit einem vordefinierten Wert, der im gesamten Programm gleich bleibt.
Syntax für die Variablendeklaration:
const_name CONSTANT data type := val
Code-Implementierung mit Konstante:
DECLARE -- Constant p constant number := 3.141592654; -- Radius declarations r number(10,1); a_circle number(10,3); BEGIN -- Area calculation r := 9.4; a_circle := p * r * r; -- Output in console dbms_output.put_line('Area of circle: ' || a_circle); END; /
Die Ausgabe des obigen Codes sollte sein:
Literale in PL SQL
Ein boolescher, numerischer oder String-Wert, der nicht durch einen PL / SQL-Bezeichner definiert ist, wird als Literal bezeichnet. Die Literale unterscheiden zwischen Groß- und Kleinschreibung und sind wie folgt aufgeführt:
- Boolesche Literale [ Zum Beispiel - FALSCH RICHTIG ]
- Zeichenliterale [ Zum Beispiel - 's', '7', ')']
- String Literals [ Zum Beispiel - 'Softwaretest']
- Numerische Literale [ Zum Beispiel - 78, 04, 6.3]
- DATUM- und Zeitliterale [ Zum Beispiel - ’25 -05-2012 ’]
Häufig gestellte Fragen und Antworten
Q # 1) Was sind die Datentypen in PL SQL?
Antworten: Die PL SQL-Datentypen sind zusammengesetzt und skalar. Die skalaren Datentypen können einzelne Werte wie Character, Number, Boolean und DateTime enthalten. Während die zusammengesetzten Datentypen mehr als einen Wert wie Sammlung und Aufzeichnung speichern.
Q # 2) Was ist die PL / SQL-Variable?
Antworten: Eine PL SQL-Variable ist ein Name, mit dem ein Entwickler Daten während der Programmausführung vorübergehend speichern kann. Dies ist ein aussagekräftiger Name, der dem Speicherbereich zugewiesen wird. Alle Variablen in PL / SQL gehören zu einem bestimmten Datentyp.
F # 3) Wie übergebe ich einen Datumsparameter in PL / SQL?
Antworten: Wir können einen Datumsparameter in PL / SQL mit Hilfe des Schlüsselworts DATE übergeben. Es folgt einem festen Format als „JJJJ-MM-TT“.
Q # 4) Wie deklariert man eine Konstante in PL / SQL?
Antworten: Wir können eine Konstante in PL / SQL mit Hilfe des Schlüsselworts CONSTANT deklarieren. Nach CONSTANT müssen wir den ihm zugewiesenen Wert angeben. Dieser Wert bleibt während des gesamten Programms festgelegt.
Q # 5) Wie viele Arten von Literalen sind in PL / SQL verfügbar?
Antworten: Die Literaltypen in PL / SQL sind Number, DateTime, Text und Integer.
Q # 6) Bei PL SQL-Variablen wird zwischen Groß- und Kleinschreibung unterschieden?
Antworten: PL SQL-Variablen einschließlich der reservierten Wörter unterscheiden nicht zwischen Groß- und Kleinschreibung. Zum Beispiel, BEGINNEN und beginnen Sie beide dienen demselben Zweck.
Fazit
Ein großer Teil von PL / SQL, der sich mit Themen wie den verschiedenen verwendeten Datentypen und deren Bedeutung sowie den Variablen von PL SQL befasst, sollte jetzt nach dem Lesen dieses Lernprogramms verständlich sein.
Außerdem haben wir die PL SQL-Konstanten und -Literale im Detail untersucht. Gehen Sie jedes der Themen einzeln durch und langsam werden Sie dies meistern. PL / SQL wird heutzutage in der Industrie sowohl für die Web- als auch für die Serverentwicklung verwendet.
Im nächsten Tutorial werden wir die PL / SQL-Anweisung Einfügen, Aktualisieren, Löschen, Auswählen und andere verwandte Themen behandeln.
Bleiben wir dran für mehr Wissensaustausch.
Literatur-Empfehlungen
- Python-Variablen
- Python-Datentypen
- C # -Datentypen und -Variablen mit Beispielen
- JMeter-Datenparametrierung mit benutzerdefinierten Variablen
- Data Mart Tutorial - Typen, Beispiele und Implementierung von Data Mart
- C ++ - Datentypen
- Java-Variablen und ihre Typen mit Beispielen
- SQL vs NoSQL Genaue Unterschiede und wissen, wann NoSQL und SQL verwendet werden müssen