PL /SQL Variables

En variabel er noe annet enn et navn gitt til et lagringsområde som våre programmer kan manipulere. Hver variabel i PL /SQL har en bestemt datatype, som bestemmer størrelsen og utformingen av den variable minne; det område av verdier som kan lagres i minnet, og at settet av operasjoner som kan brukes til variabelen.

Navnet på en PL /SQL variable består av en bokstav etterfulgt av flere eventuelt bokstaver, tall, dollartegn, understrek, og talltegn og bør ikke overstige 30 tegn. Som standard variabelnavn er ikke store og små bokstaver. Du kan ikke bruke en reservert PL /SQL søkeord som variabelnavn.

PL /SQL programmeringsspråk gjør det mulig å definere ulike typer variabler, som vi vil dekke i påfølgende kapitlene som dato tidsdatatyper, poster, samlinger, etc. For dette kapittelet, la oss studere bare grunnleggende variabeltyper.

Variable Erklæring i PL /SQL

PL /SQL-variabler må deklareres i erklæringen seksjon eller i en pakke som et globalt variabel. Når du deklarerer en variabel, PL /SQL allokerer minne for variabelens verdi og lagringssted er identifisert av variabelnavnet

Syntaksen for å erklære en variabel er.
VARIABLE_NAME [KONSTANT] datatype [NOT NULL] [: = | STANDARD initial_value]

Hvor, VARIABLE_NAME
er en gyldig identifikator i PL /SQL, datatype
må være en gyldig PL /SQL-datatypen eller en brukerdefinert datatype som vi allerede har diskutert i forrige kapittel. Noen gyldige variabeldeklarasjoner sammen med deres definisjon er vist nedenfor:
salg nummer (10, 2); pi KONSTANT dobbel presisjon: = 3,1415; navn varchar2 (25), adresse varchar2 (100);

Når du gir en størrelse, skala eller presisjon grense med datatypen, kalles det en begrenset erklæring
. Begrenset erklæringer krever mindre minne enn ubegrensede erklæringer. For eksempel:
salg nummer (10, 2); navn varchar2 (25), adresse varchar2 (100);
Initial Variabler i PL /SQL

Når du deklarerer en variabel, PL /SQL tildeler den en standardverdi på NULL. Hvis du ønsker å klargjøre en variabel med en annen enn den NULL verdi verdi, kan du gjøre det i løpet av erklæringen, enten ved hjelp av følgende:

STANDARD
søkeord


oppdrag
operatør

For eksempel:
teller binary_integer: = 0; hilsener varchar2 (20) STANDARD ' Ha en god dag ';

Du kan også angi at en variabel ikke bør ha en NULL
verdi ved hjelp av NOT NULL
begrensningen. Hvis du bruker NOT NULL begrensningen, må du eksplisitt tilordne en startverdi for den variabelen.

Det er en god programmering praksis å initial variabler riktig, ellers ville noen ganger program produsere uventet resultat. Prøv følgende eksempel som gjør bruk av ulike typer variabler:
erklære et heltall: = 10; b heltall: = 20; c heltall; f real; BEGIN c: = a + b; dbms_output.put_line ('Verdien av c:' || c); f: = 70,0 /3,0; dbms_output.put_line ('Verdien av f:' || f); END; /

Når koden ovenfor er utført, gir det følgende resultat:
verdi av c: 30Value av f: 23.333333333333333333PL /SQL prosedyre fullført.
Variable Scope i PL /SQL

PL /SQL tillater hekke av blokker, dvs. kan hvert program blokk inneholde en annen indre blokk. Hvis en variabel er deklarert i et indre blokk, er det ikke tilgjengelig for den ytre blokken. Men hvis en variabel er deklarert og tilgjengelig for en ytre Block, er det også tilgjengelig for alle nestet indre Blocks. Det finnes to typer av variable omfang.

  • Lokale variabler Z - variabler deklarert i en indre blokk og ikke tilgjengelig for ytre blokker

    Globale variabler Z - variabler deklarert i det ytterste blokk eller en pakke.

    Følgende eksempel viser bruken av Lokal Hotell og Globale
    variabler i sin enkle form: Anmeldelser erklære - Globale variabler num1 nummer: = 95; num2 Nummer: = 85; BEGIN dbms_output.put_line ('Ytre Variabel num1:' || num1); dbms_output.put_line ('Ytre Variabel num2:' || num2); ERKLÆRER - Lokale variabler num1 Nummer: = 195; num2 Nummer: = 185; BEGIN dbms_output.put_line ('Indre Variabel num1:' || num1); dbms_output.put_line ('Indre Variabel num2:' || num2); SLUTT; END; /

    Når koden ovenfor er utført, gir det følgende resultat:
    Ytre Variabel num1: 95Outer Variabel num2: 85Inner Variabel num1: 195Inner Variabel num2: 185PL /SQL-prosedyren ble fullført
    Tildele SQL. spørringsresultatene til PL /SQL-variabler

    Du kan bruke SELECT INTO uttalelse av SQL for å tilordne verdier til PL /SQL-variabler. For hvert element i SELECT-listen, må det være en tilsvarende, type-kompatible variabel i INTO listen. Følgende eksempel illustrerer konseptet: La oss lage en tabell med navnet KUNDER:

    ( For SQL-setninger kan du se på SQL tutorial
    )
    CREATE TABLE KUNDER (ID INT NOT NULL, NAVN VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADRESSE CHAR (25), LØNN DECIMAL (18, 2), PRIMARY KEY (ID)); Tabell Laget

    Neste, la oss sette noen verdier i tabellen:
    INSERT INTO KUNDER (ID, navn, alder, adresse, lønn) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00); INSERT INTO KUNDER (ID, navn, alder, adresse, LØNN) VERDIER ( 2, 'Khilan', 25 'Delhi', 1500.00); INSERT INTO KUNDER (ID, navn, alder, adresse, lønn) VALUES (3, 'Kaushik', 23 'Kota', 2000.00); INSERT til kunder ( ID, navn, alder, adresse, LØNN) VERDIER (4, 'Chaitali', 25 'Mumbai', 6500.00); INSERT INTO KUNDER (ID, navn, alder, adresse, LØNN) VALUES (5 'Hardik', 27 «Bhopal ', 8500.00); INSERT INTO KUNDER (ID, navn, alder, adresse, lønn) VALUES (6,' Komal ', 22' MP ', 4500.00);

    Følgende program tildeler verdier fra de ovennevnte Tabellen til PL /SQL-variabler som bruker SELECT INTO klausulen av SQL:
    ERKLÆRER c_id customers.id% Type: = 1; c_name customers.name% type; c_addr customers.address% type; c_sal customers.salary% type; BEGIN SELECT navn, adresse, lønn INTO c_name, c_addr, c_sal fra kunder hvor id = c_id; dbms_output.put_line ('Kunde' || c_name || 'fra' || c_addr || 'tjener' || c_sal); END; /

    Når koden ovenfor er utført, gir det følgende resultat:
    Kunden Ramesh fra Ahmedabad tjener 2000PL /SQL prosedyre fullført