PL/SQL akseptable identifikatorer, variabler og navnekonvensjoner

โšก Smart oppsummering

PL/SQL-identifikatorer er navnene som gis til PL/SQL-objekter som variabler, konstanter, markรธrer og prosedyrer. De mรฅ starte med en bokstav, holde seg innenfor 30 tegn, er ikke store og smรฅ bokstaver fรธlsomme og fรธlge navnekonvensjoner som signaliserer en variabels nivรฅ og type.

  • ๐Ÿท๏ธ Definisjon: En identifikator navngir ethvert PL/SQL-objekt, fra en variabel til en pakke eller etikett.
  • ๐Ÿ“ regler: Mรฅ begynne med en bokstav, vรฆre pรฅ maksimalt 30 tegn og ikke inneholde mellomrom.
  • ๐Ÿ”  Tillatte skilt: Dollartegn, understrek og hash er tillatt i en identifikator.
  • ๐Ÿงญ Navnekonvensjon: Den fรธrste bokstaven markerer nivรฅet (P, L, G) og den andre markerer typen (C, V, N, R, T).
  • ๐Ÿ“ฆ Variabler: En variabel er en identifikator bundet til et lagringsomrรฅde, deklarert med en gyldig datatype.
  • ๐Ÿ“ Erklรฆring: Variabler deklareres i den deklarative delen fรธr bruk.
  • โžก๏ธ Oppdrag: En verdi kan settes ved deklarasjon eller senere ved hjelp av :=-operatoren.

Navnekonvensjoner for PL/SQL-identifikatorer

Hva er PL/SQL-identifikatorer?

Identifikatorer I PL/SQL er navnene gitt til et PL/SQL-objekt. Objektet kan vรฆre en konstant, variabel, et unntak, en markรธr, en prosedyre, en funksjon, en pakke, en trigger, en objekttype, et reservert ord eller en etikett. Identifikatorer inneholder bokstaver, tall, tegn, understrek og sรฅ videre. De skiller ikke mellom store og smรฅ bokstaver og er begrenset til 30 tegn i stรธrrelse.

Egenskaper til PL/SQL-identifikatorer

Her er hovedegenskapene til PL/SQL-identifikatorer:

  • Mรฅ begynne med en bokstav.
  • Maksimal stรธrrelse er begrenset til 30 tegn.
  • Kan ikke inneholde mellomromstegn.
  • Kan inneholde et dollartegn ('$'), understrek ('_') og firkanttegn ('#').
  • Er ikke skille mellom store og smรฅ bokstaver.

Navnekonvensjoner i PL/SQL

I et komplekst program kan det hende vi mรฅ inkludere mange identifikatorer, som variabler og markรธrer. For รฅ unngรฅ forvirring og รธke lesbarheten mรฅ vi fรธlge visse navnekonvensjoner.

De vanligste navnekonvensjonene i PL/SQL er som fรธlger.

Den fรธrste bokstaven angir det deklarerte nivรฅet for variabelen:

  • 'P' โ€“ variabel deklarert pรฅ parameternivรฅ.
  • 'L' โ€“ variabel deklarert i den lokale blokken.
  • 'G' โ€“ variabel deklarert pรฅ globalt nivรฅ.

Den andre bokstaven angir typen identifikator:

  • 'C' โ€“ markรธridentifikator.
  • 'V' โ€“ VARCHAR- og CHAR-datatypen.
  • 'N' โ€“ NUMBER-datatypen.
  • 'R' โ€“ posttype.
  • 'T' โ€“ bordtype.

Nedenfor er noen eksempler pรฅ riktige navnekonvensjoner i PL/SQL:

  • Lv_name โ€“ variabel pรฅ lokalt nivรฅ av datatypen VARCHAR/CHAR.
  • Pc_num โ€“ markรธridentifikator pรฅ parameternivรฅ.
  • Gn_user_id โ€“ global nivรฅvariabel for numerisk datatype.

PL/SQL-variabler

Variabler I PL/SQL er det grunnleggende identifikatorer som er tilordnet et lagringsomrรฅde som et program kan manipulere. Variabler er plassholdere der brukeren kan lagre verdier. Disse variablene mรฅ knyttes til en gyldig PL/SQL-datatype fรธr bruk. Datatyper definerer lagrings- og behandlingsmetodene for disse variablene.

PL/SQL-variabelerklรฆring

Variabler brukes hovedsakelig til รฅ lagre data under datamanipulering eller -behandling. De mรฅ deklareres fรธr bruk, i den deklarative delen av PL/SQL-blokker.

ร… deklarere en variabel er prosessen med รฅ tilordne et navn til plassholderen og knytte den til en gyldig datatype.

syntax

<variable_name> <datatype>;

Syntaksen ovenfor viser hvordan man deklarerer en variabel i den deklarative delen.

Datalagring i PL/SQL-variabler

Nรฅr en variabel er deklarert, er den klar til รฅ inneholde data av den definerte typen. Verdiene kan tilordnes enten i utfรธrelsesdelen eller pรฅ deklarasjonstidspunktet. Verdien kan vรฆre en literal eller en annen variabels verdi. Nรฅr den er tilordnet, lagres den i minneplassen som er tildelt den variabelen.

syntax

<variable_name> <datatype> := <default_value>;

Syntaksen ovenfor viser hvordan man deklarerer en variabel og tilordner en verdi i den deklarative delen.

<variable_name> <datatype>;
<variable_name> := <value>;

Syntaksen ovenfor viser hvordan man tilordner en verdi til en allerede deklarert variabel.

Eksempel 1: I dette eksemplet lรฆrer vi hvordan vi deklarerer en variabel og tilordner den en verdi. Vi skriver ut 'GURU99' i fรธlgende program ved hjelp av variabler.

Eksempel pรฅ PL/SQL-variabeldeklarasjon og tildeling

DECLARE
lv_name VARCHAR2(50);
lv_name_2 VARCHAR2(50) := 'GURU99';
BEGIN
lv_name := lv_name_2;
dbms_output.put_line(lv_name);
END;
/

Code Forklaring

  • Code linje 2: Deklarerer variabelen 'lv_name' til VARCHAR2 med stรธrrelse 50.
  • Code linje 3: Deklarerer variabelen 'lv_name_2' for VARCHAR2 med stรธrrelse 50 og tilordner standardverdien ved hjelp av bokstaven 'GURU99'.
  • Code linje 5: Verdien for variabelen 'lv_name' tildeles fra variabelen 'lv_name_2'.
  • Code linje 6: Skriver ut den lagrede verdien av variabelen 'lv_name'.

Nรฅr koden ovenfor kjรธres, fรฅr du fรธlgende utdata.

Produksjon

GURU99

Spรธrsmรฅl og svar

Den mรฅ starte med en bokstav, vรฆre pรฅ maksimalt 30 tegn, ikke inneholde mellomrom og kun bruke bokstaver, sifre og tegnene dollar, understrek og hash. Identifikatorer skiller ikke mellom store og smรฅ bokstaver.

Prefikset koder omfanget og typen med et raskt blikk, slik at Lv_name leses som en lokal varchar-variabel. I en stor blokk reduserer dette forvirring og gjรธr koden enklere รฅ vedlikeholde.

Operatoren := tilordner en verdi til en variabel. En enkelt = brukes til sammenligning innenfor betingelser. ร… blande dem er en vanlig nybegynnerfeil som forรฅrsaker en kompileringsfeil.

Ja. AI kan skanne en pakke, flagge identifikatorer som bryter med de avtalte prefiksene og foreslรฅ navneendringer. Den kan ogsรฅ generere konsistente navn for nye variabler basert pรฅ omfang og type.

Nei. lv_name og LV_NAME refererer til samme identifikator. Bare strenglitteraler i enkle anfรธrselstegn skiller mellom store og smรฅ bokstaver, sรฅ det finnes en konvensjon for lesbarhet, ikke fordi kompilatoren krever det.

Oppsummer dette innlegget med: