pl sql data types variables
Deze tutorial legt in detail uit wat PL SQL-gegevenstypen, variabelen, constanten en literalen zijn met behulp van programmeervoorbeelden:
In de vorige tutorial van het PL / SQL-reeks , we maakten kennis met PL / SQL met zijn functies en basissyntaxis met voorbeelden.
In dit artikel bespreken we de verschillende gegevenstypen die PL / SQL ondersteunt. We zullen ook de variabelen en constanten onderzoeken die uitgebreid worden gebruikt in PL SQL.
PL / SQL-letterwoorden zijn ook belangrijk en we zullen er in deze tutorial over leren, samen met het praktische gebruik ervan.
Wat je leert:
- Pl SQL-gegevenstypen
- PL SQL-variabelen
- Constanten in PL / SQL
- Letterlijke letters in PL SQL
- Gevolgtrekking
Pl SQL-gegevenstypen
Alle variabelen, constanten en parameters van PL / SQL hebben een bepaald gegevenstype dat het bereik van waarden, beperkingen en het formaat waarin ze zijn opgeslagen, definieert. PL / SQL bevat de gegevenstypen zoals Large Object, ook wel bekend als LOB, Scalar, Reference en Composite.
Scalaire gegevenstypen
Laten we eerst de scalaire gegevenstypen bespreken die uit het volgende bestaan:
- NUMERIEK gegevenstypen die te maken hebben met waarden waarop wiskundige bewerkingen worden uitgevoerd.
- BOOLEAN gegevenstypen die te maken hebben met de waarden waarop logische bewerkingen worden uitgevoerd.
- KARAKTER gegevenstypen die te maken hebben met de waarden die bestaan uit alfanumerieke waarden.
- DATUM TIJD gegevenstypen.
Numerieke gegevenstypen
Het numerieke datatype van PL / SQL bestaat uit het volgende:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- DECIMALE
- NUMERIEK
- AANTAL
- VLOTTER
- INT
- GEHEEL GETAL
- DUBBELE PRECISIE
- ECHT
- KLEIN
- DEC
Codefragment met numerieke gegevenstypen:
In de bovenstaande code hebben we de gegevenstypen INTEGER, NUMBER en DOUBLE PRECISION met respectievelijk de variabelen numA, numB en numC. numB heeft een cijfergegevenstype met precisie 10 en heeft geen cijfers achter de komma.
De uitvoer van de bovenstaande code zou moeten zijn:
Karaktergegevenstypen
De karaktergegevenstypen van PL / SQL bestaan uit de volgende, zoals hieronder vermeld:
# 1) VARCHAR2: Dit gegevenstype zal een string opslaan, maar de lengte van de string staat niet vast op het moment van declaratie. De varchar2 heeft een maximale grootte van maximaal 32767 bytes. De maximale breedte van een varchar2-databasekolom is 4000 bytes.
Syntaxis:
test VARCHAR2 (20): = ‘SoftwareTest’;
# 2) CHAR: Dit datatype zal een string opslaan, maar de stringlengte ligt vast op het moment van declaratie. Het teken heeft een maximale grootte van maximaal 32767 bytes. De maximale breedte van een char-databasekolom is 2000 bytes.
Syntaxis:
test CHAR2 (20): = ‘SoftwareTest’;
# 3) NCHAR: Dit is vergelijkbaar met CHAR, maar het zal alleen de nationale tekenset opslaan. De NCHAR heeft een maximale grootte van maximaal 32767 bytes. De maximale breedte van een NCHAR-databasekolom is 2000 bytes.
Syntaxis:
test NCHAR2 (20);
# 4) LANG: Hiermee worden tekenreeksen van variabele lengte opgeslagen. De long heeft een maximale grootte tot 32760 bytes.
Syntaxis:
test LANG;
# 5) LANGE RIJ: Hiermee worden gegevens in binair formaat of byte-strings opgeslagen. De lange rij heeft een maximale grootte van maximaal 32760 bytes.
spionage-app voor iPhone en Android
Syntaxis:
test LANG RIJ;
# 6) ROWID: Dit zijn de fysieke identificatoren van een rij die naar het adres van een rij in een normale tabel verwijst.
# 7) UROWID: Dit zijn de universele ID's van rijen.
# 8) NVARCHAR2: Dit is vergelijkbaar met VARCHAR2, maar het zal alleen de nationale tekenset opslaan. De maximale breedte van een nvarchar2-databasekolom is 4000 bytes.
# 9) VARCHAR: Dit is vergelijkbaar met VARCHAR2.
Syntaxis:
test VARCHAR2 (20): = ‘SoftwareTest’;
Laten we nu de karaktergegevenstypen van PL / SQL in tabelvorm bespreken.
Sl nr. | Data type | Omschrijving |
---|---|---|
7 | LONGROW | Dit is vergelijkbaar met LONG. Deze gegevens worden niet geïnterpreteerd door PL / SQL. |
een | VARCHAR2 | Dit wordt gebruikt voor het opslaan van de karaktergegevens met een variabele lengte. De grootte is ingesteld voor de variabelen op het moment van de aangifte. Het wordt altijd aanbevolen om VARCHAR2 te gebruiken voor effectief geheugengebruik. |
twee | CHAR | Dit wordt gebruikt voor het opslaan van de karaktergegevens met een vaste lengte. De grootte is ingesteld voor de variabelen op het moment van de aangifte. Het wordt altijd aanbevolen om CHAR te gebruiken wanneer de gegevens met een vaste grootte moeten worden gebruikt. |
3 | VARCHAR | Dit is vergelijkbaar met VARCHAR2. Het wordt altijd aanbevolen om VARCHAR te gebruiken tijdens de implementatie van code. |
4 | NCHAR | Dit wordt gebruikt voor het opslaan van de karaktergegevens die nationale karaktergegevens met een vaste lengte hebben. De karakterset is ofwel UTF 8 of UTF 16. Het wordt altijd aanbevolen om CHAR naar NCHAR te converteren. Maar het converteren van NCHAR naar CHAR kan leiden tot het afkappen van gegevens. |
5 | NVARCHAR2 | Dit wordt gebruikt voor het opslaan van de karaktergegevens die nationale karaktergegevens van variabele lengte hebben. Dit is vergelijkbaar met VARCHAR2. De tekenset is ofwel UTF 8 of UTF 16. Het wordt altijd aanbevolen om VARCHAR2 om te zetten naar NVARCHAR2. Maar het converteren van NVARCHAR2 naar VARCHAR2 kan leiden tot het afkappen van gegevens. |
6 | LANG | Dit wordt gebruikt in een datadictionary. Dit wordt voornamelijk gebruikt in karaktersetgegevens. |
Booleaanse gegevenstypen
Deze gegevenstypen van PL / SQL kunnen worden gebruikt voor het opslaan van logische waarden. TRUE, FALSE en NULL zijn de Booleaanse waarden.
SQL heeft geen BOOLEAN-gegevenstypen. We moeten ze dus vermijden in de volgende scenario's:
- PL / SQL-instructies gegenereerd op basis van SQL.
- Standaardfuncties van PL / SQL.
- Normale SQL-instructies.
Syntaxis:
De uitvoer van de testvariabele zal WAAR of ONWAAR zijn, afhankelijk van bepaalde criteria.
Datum Tijd Gegevenstypen
Deze gegevenstypen worden gebruikt voor een constante lengte van datum en tijd. Het juiste datumbereik begint van 1 januari 4712 v.Chr. Tot 31 december 9999 n.Chr. En de tijd wordt gedefinieerd in seconden. De ingebouwde datumnotatie is DD-MA-JJ, wat betekent dat er dubbele cijfers zijn toegewezen voor de dag van de maand, de naam van de maand in het kort, en vervolgens de laatste twee cijfers van het jaar.
Een DATUM bestaat uit seconde, minuut, dag, uur, maand, jaar en eeuw. Elk van deze velden heeft een gedefinieerd specifiek bereik, zoals hieronder vermeld:
- TWEEDE: Het wordt gedefinieerd in het bereik van 00 tot 59,9.
- MINUUT: Het is gedefinieerd in het bereik van 00 tot 59.
- UUR: Het is gedefinieerd in het bereik van 00 tot 23.
- DAG: Het is gedefinieerd in het bereik van 01 tot 31.
- MAAND: Het is gedefinieerd in het bereik van 01 tot 12.
- JAAR: Het is gedefinieerd in het bereik van -4712 tot 9999 (exclusief 0).
- TIMEZONE_HOUR: Het is gedefinieerd in het bereik van -12 tot 14.
- TIMEZONE_MINUTE: Het is gedefinieerd in het bereik van 00 tot 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Syntaxis:
Hier hebben we de tijdzone beschreven met symbolen. US / Pacific of PDT-specificatie wordt gebruikt om een bepaalde tijdzone te definiëren. Het PDT-formulier wordt meestal gebruikt omdat het de richtlijnen geeft bij het overschakelen naar zomertijd.
LOB-gegevenstypen
Laten we nu de LOB-datatypes bespreken die te maken hebben met enorme hoeveelheden gegevens, bestaande uit video's, geluiden, grafische afbeeldingen, afbeeldingen, enzovoort.
LOB-datatypes hebben tal van voordelen ten opzichte van lange datatypes. Ze zijn hieronder opgesomd:
- Long biedt plaats aan 2 GB, terwijl LOB 128 TB kan bevatten.
- Een tabel kan een enkele kolom van het type LONG hebben, terwijl er meerdere kolommen van het gegevenstype LOB kunnen zijn.
- Het LOB-datatype ondergaat constante verbeteringen en updates van Oracle, terwijl het LONG-datatype niet veel verbeteringen en updates kent.
LOB-gegevenstypen worden hieronder vermeld:
- BFILE: Dit wordt gebruikt om ongestructureerde gegevens in binair formaat uit de database te houden als een bestand van het besturingssysteem.
- NCLOB: Dit wordt gebruikt om enorme NCHAR-gegevens in de database op te slaan.
- CLOB: Dit wordt gebruikt om enorme gegevens van het tekentype in de database op te slaan.
Syntaxis:
Binaire CLOB;
- BLOB: Dit wordt gebruikt om enorme binaire gegevens in de database op te slaan.
Syntaxis:
Binaire BLOB;
Code-implementatie met enkele gegevenstypen:
De uitvoer van de bovenstaande code zou moeten zijn:
PL SQL-variabelen
PL / SQL-variabelenamen volgen de naamgevingsconventie die bestaat uit alfanumerieke tekens van maximaal dertig. PL / SQL is niet hoofdlettergevoelig en de sleutelwoorden mogen niet als variabele worden gebruikt.
De variabelenaam moet betekenisvol zijn en kan worden gevolgd door een onderstrepingsteken (_), getal of dollar ($).
PL SQL-variabelenverklaring
Variabelen van PL / SQL moeten beschikbaar zijn in het declaratiegebied of in een pakket aanwezig zijn als een globale variabele. PL / SQL reserveert geheugen voor de variabelen en de locatie van de opslag wordt bepaald door de variabelenaam.
Syntaxis voor variabele declaratie:
Hier is de variabele_naam een authentieke PL / SQL-identificatie en kan het gegevenstype een door de gebruiker gedefinieerd of een bevestigd PL / SQL-gegevenstype zijn.
Code-implementatie voor variabele declaratie:
De uitvoer van de bovenstaande code zou moeten zijn:
Houd er rekening mee dat, we hebben zowel de precisie als de grootte van het datatype getallen genoemd. Dit staat bekend als de beperkte aangifte. Dit type aangifte verbruikt minder geheugen.
Initialisatie PL / SQL-variabele
Standaard neemt PL / SQL de waarde van een variabele als NULL. Als we een variabele echter niet met NULL willen initialiseren, kan dat worden bereikt door het trefwoord DEFAULT of de toewijzingsoperator te gebruiken.
Syntaxis:
We kunnen ook definiëren dat een variabele geen NULL-waarde mag hebben door de NOT NULL-beperking te vermelden. Als echter de NOT NULL-beperking wordt gebruikt, moeten we een waarde voor de variabele instellen.
Code-implementatie met variabele initialisatie:
De uitvoer van de bovenstaande code zou moeten zijn:
Code-implementatie met toewijzingsconcept:
Hier wordt de toewijzingsoperator (=) gebruikt om waarden aan de variabele toe te wijzen.
De uitvoer van de bovenstaande code zou moeten zijn:
PL / SQL-variabel bereik
Een PL / SQL-blok kan interne codeblokken hebben. Als een variabele die is gedeclareerd, deel uitmaakt van het binnenblok, kan deze niet worden gebruikt door het buitenblok. Maar een variabele die deel uitmaakt van het buitenste blok kan worden gemanipuleerd in het binnenste codeblok.
Deze soorten variabelen worden hieronder beschreven:
- Globale variabelen: De variabelen die worden gedeclareerd bij het buitenste blok of pakket.
- Lokale variabelen: De variabelen die worden gedeclareerd in het binnenste codeblok en niet toegankelijk zijn vanaf het buitenste blok.
Code-implementatie met globale en lokale variabelen:
De uitvoer van de bovenstaande code zou moeten zijn:
Houd er rekening mee dat dat de uitvoer hier, de Globale variabele is: 10 (vanwege de globale variabele val) en ‘Lokale variabele is: 100 (vanwege de lokale variabele val).
PL / SQL-anker
PL / SQL-ankers worden gedefinieerd met het sleutelwoord% TYPE om variabelen te declareren met het gegevenstype dat is verbonden met het gegevenstype van die specifieke kolom van de tabel.
Codefragment met anker:
Hier hebben we een RESIDENT-tabel en we hebben te maken met de kolommen NAME en ADDRESS van die tabel.
Constanten in PL / SQL
Een constante houdt de waarde die eenmaal is verklaard gedurende het hele programma ongewijzigd.
PL / SQL Constante declaratie
De CONSTANTE trefwoord wordt gebruikt om constanten in het programma te definiëren. Het begint met een vooraf gedefinieerde waarde die gedurende het hele programma hetzelfde blijft.
Syntaxis voor variabele declaratie:
Code-implementatie met constante:
De uitvoer van de bovenstaande code zou moeten zijn:
Letterlijke letters in PL SQL
Een Booleaanse, Numerieke of String-waarde die niet wordt gedefinieerd door een PL / SQL-ID, wordt een literal genoemd. De letterlijke tekens zijn hoofdlettergevoelig en zijn van de volgende typen, zoals hieronder vermeld:
- Booleaanse literalen ( Bijvoorbeeld - FALSE, TRUE)
- Letterlijke tekens ( Bijvoorbeeld - ‘s’, ‘7’, ‘)’)
- Letterlijke tekenreeksen ( Bijvoorbeeld - ‘Softwaretest’)
- Numerieke letterlijke tekens ( Bijvoorbeeld - 78, 04, 6,3)
- DATUM en tijdliteratuur ( Bijvoorbeeld - ’25-05-2012 ’)
Veelgestelde vragen en antwoorden
Q # 1) Wat zijn de gegevenstypen in PL SQL?
Antwoord: De PL SQL-gegevenstypen zijn samengesteld en scalair. De scalaire gegevenstypen kunnen enkele waarden bevatten, zoals Character, Number, Boolean en DateTime. Terwijl de samengestelde gegevenstypen meer dan één waarde opslaan, zoals verzameling en record.
Q # 2) Wat is de PL / SQL-variabele?
Antwoord: Een PL SQL-variabele is een naam die een ontwikkelaar helpt om gegevens tijdelijk op te slaan tijdens het uitvoeren van een programma. Het is een betekenisvolle naam die aan het opslaggebied is toegewezen. Alle variabelen in PL / SQL behoren tot een specifiek gegevenstype.
V # 3) Hoe geef ik een datumparameter door in PL / SQL?
Antwoord: We kunnen een datumparameter doorgeven in PL / SQL met behulp van het DATE-sleutelwoord. Het volgt een vast formaat als ‘JJJJ-MM-DD’.
Q # 4) Hoe declareert u een constante in PL / SQL?
Antwoord: We kunnen een constante in PL / SQL declareren met behulp van het trefwoord CONSTANT. Na CONSTANT moeten we de waarde vermelden die eraan is toegewezen. Deze waarde blijft gedurende het hele programma vast.
Q # 5) Hoeveel soorten literals zijn beschikbaar in PL / SQL?
Antwoord: De lettertypen in PL / SQL zijn Getal, Datum / Tijd, Tekst en Geheel getal.
Q # 6) Zijn PL SQL-variabelen hoofdlettergevoelig?
Antwoord: PL SQL-variabelen inclusief de gereserveerde woorden zijn niet hoofdlettergevoelig. Bijvoorbeeld, BEGIN en begin beide dienen hetzelfde doel.
Gevolgtrekking
Een groot deel van PL / SQL dat betrekking heeft op onderwerpen zoals de verschillende gegevenstypen die worden gebruikt en hun belang en de variabelen van PL SQL, zou nu begrijpelijk moeten zijn na het lezen van deze tutorial.
We hebben ook de PL SQL-constanten en letterlijke waarden in detail onderzocht. Doorloop elk van de onderwerpen een voor een en langzaam zul je dit onder de knie krijgen. PL / SQL wordt tegenwoordig in industrieën gebruikt voor zowel web- als serverontwikkeling.
In de volgende tutorial zullen we de PL / SQL-instructies invoegen, bijwerken, verwijderen, selecteren en andere gerelateerde onderwerpen bespreken.
Laten we op de hoogte blijven voor meer kennisuitwisseling.
Aanbevolen literatuur
- Python-variabelen
- Python-gegevenstypen
- C # Gegevenstypen en variabelen met voorbeelden
- Parametrering van JMeter-gegevens met behulp van door de gebruiker gedefinieerde variabelen
- Data Mart-zelfstudie - Typen, voorbeelden en implementatie van Data Mart
- C ++ gegevenstypen
- Java-variabelen en hun typen met voorbeelden
- SQL versus NoSQL Exacte verschillen en weet wanneer u NoSQL en SQL moet gebruiken