PL/SQL-i aktsepteeritavad identifikaatorid, muutujad ja nimetamisreeglid

โšก Nutikas kokkuvรตte

PL/SQL identifikaatorid on PL/SQL objektidele, nรคiteks muutujatele, konstantidele, kursorite ja protseduuride nimed. Need peavad algama tรคhega, jรครคma 30 tรคhemรคrgi piiresse, olema tรตstutundlikud ja jรคrgima nimetamiskonventsioone, mis tรคhistavad muutuja taset ja tรผรผpi.

  • ???? ๏ธ Mรครคratlus: Identifikaator nimetab mis tahes PL/SQL-objekti, alates muutujast kuni paketi vรตi sildini.
  • ๐Ÿ“ Reeglid: Peab algama tรคhega, olema maksimaalselt 30 tรคhemรคrki pikk ja ei sisalda tรผhikuid.
  • ๐Ÿ”  Lubatud mรคrgid: Identifikaatori sees on lubatud dollarimรคrk, alakriips ja rรคsi.
  • ๐Ÿงญ Nimetamiskonventsioon: Esimene tรคht tรคhistab taset (P, L, G) ja teine โ€‹โ€‹tรผรผpi (C, V, N, R, T).
  • ๐Ÿ“ฆ Muutujad: Muutuja on salvestuspiirkonnaga seotud identifikaator, mis on deklareeritud kehtiva andmetรผรผbiga.
  • ๐Ÿ“ Deklaratsioon: Muutujad deklareeritakse deklaratiivses osas enne kasutamist.
  • โžก๏ธ รœlesanne: Vรครคrtuse saab mรครคrata deklareerimisel vรตi hiljem operaatori := abil.

PL/SQL identifikaatorite nimetamise konventsioonid

Mis on PL/SQL-i identifikaatorid?

Identifikaatorid PL/SQL-is on PL/SQL-objektidele antud nimed. Objekt vรตib olla konstant, muutuja, erand, kursor, protseduur, funktsioon, pakett, pรครคstik, objektitรผรผp, reserveeritud sรตna vรตi silt. Identifikaatorid sisaldavad tรคhti, numbreid, mรคrke, alakriipse jne. Need ei ole tรตstutundlikud ja nende suurus on piiratud 30 tรคhemรคrgiga.

PL/SQL-i identifikaatorite omadused

Siin on PL/SQL-i identifikaatorite peamised omadused:

  • Peab algama tรคhega.
  • Maksimaalne suurus on piiratud 30 tรคhemรคrgiga.
  • Ei tohi sisaldada tรผhikuid.
  • Vรตib sisaldada dollarimรคrki ('$'), alakriipsu ('_') ja rรคsimรคrki ('#').
  • On tรตstutundetu.

Nimetamiskonventsioonid PL/SQL-is

Keerukas programmis peame vรตib-olla lisama palju identifikaatoreid, nรคiteks muutujaid ja kursoreid. Segaduse vรคltimiseks ja loetavuse parandamiseks peame jรคrgima teatud nimetamiskonventsioone.

PL/SQL-is tavaliselt kasutatavad nimetamiskonventsioonid on jรคrgmised.

Esimene tรคht mรครคrab muutuja deklareeritud taseme:

  • 'P' โ€“ parameetri tasemel deklareeritud muutuja.
  • 'L' โ€“ kohalikus plokis deklareeritud muutuja.
  • 'G' โ€“ globaalsel tasandil deklareeritud muutuja.

Teine tรคht mรครคrab identifikaatori tรผรผbi:

  • 'C' โ€“ kursori identifikaator.
  • 'V' โ€“ VARCHAR ja CHAR andmetรผรผp.
  • 'N' โ€“ NUMBER andmetรผรผp.
  • "R" - kirje tรผรผp.
  • 'T' โ€“ tabeli tรผรผp.

Allpool on toodud mรตned nรคited PL/SQL-i รตigete nimetamiskonventsioonide kohta:

  • Lv_name โ€“ VARCHAR/CHAR andmetรผรผbiga lokaalse taseme muutuja.
  • Pc_num โ€“ parameetri taseme kursori identifikaator.
  • Gn_user_id โ€“ globaalne muutuja numbriline andmetรผรผp.

PL/SQL muutujad

Muutujad PL/SQL-is on muutujad pรตhilised identifikaatorid, mis on mรครคratud salvestusalale, mida programm saab muuta. Muutujad on kohahoidjad, kuhu kasutaja saab vรครคrtusi salvestada. Need muutujad tuleb enne kasutamist seostada kehtiva PL/SQL-andmetรผรผbiga. Andmetรผรผbid mรครคratlevad nende muutujate salvestus- ja tรถรถtlemismeetodid.

PL/SQL muutuja deklaratsioon

Muutujaid kasutatakse peamiselt andmete salvestamiseks andmetega manipuleerimise vรตi tรถรถtlemise ajal. Need tuleb enne kasutamist deklareerida deklaratiivses osas. PL/SQL plokid.

Muutuja deklareerimine on kohatรคitele nime omistamine ja selle seostamine kehtiva andmetรผรผbiga.

Sรผntaks

<variable_name> <datatype>;

รœlaltoodud sรผntaks nรคitab, kuidas deklaratiivses osas muutujat deklareerida.

Andmete salvestamine PL/SQL muutujates

Kui muutuja on deklareeritud, on see valmis defineeritud tรผรผpi andmete hoidmiseks. Vรครคrtused saab mรครคrata kas tรคitmissektsioonis vรตi deklareerimise ajal. Vรครคrtus vรตib olla literaal vรตi mรตne teise muutuja vรครคrtus. Kui vรครคrtus on mรครคratud, salvestatakse see sellele muutujale eraldatud mรคluruumi.

Sรผntaks

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

รœlaltoodud sรผntaks nรคitab, kuidas deklareerida muutujat ja mรครคrata sellele vรครคrtus deklaratiivses osas.

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

รœlaltoodud sรผntaks nรคitab, kuidas juba deklareeritud muutujale vรครคrtust mรครคrata.

Nรคide 1: Selles nรคites รตpime, kuidas deklareerida muutujat ja mรครคrata sellele vรครคrtus. Jรคrgmises programmis vรคljastame muutujate abil 'GURU99'.

PL/SQL muutujate deklareerimise ja omistamise nรคide

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 Selgitus

  • Code rida 2: Muutuja 'lv_name' deklareerimine VARCHAR2 vรครคrtusega 50.
  • Code rida 3: Muutuja 'lv_name_2' deklareerimine VARCHAR2 vรครคrtusega 50 ja vaikevรครคrtuse mรครคramine literaali 'GURU99' abil.
  • Code rida 5: Muutuja 'lv_name' vรครคrtus mรครคratakse muutujast 'lv_name_2'.
  • Code rida 6: Muutuja 'lv_name' salvestatud vรครคrtuse printimine.

Kui รผlaltoodud kood kรคivitatakse, saate jรคrgmise vรคljundi.

Vรคljund

GURU99

KKK

See peab algama tรคhega, olema maksimaalselt 30 tรคhemรคrki pikk, ei tohi sisaldada tรผhikuid ning kasutada ainult tรคhti, numbreid ja mรคrke dollar, alakriips ja rรคsi. Identifikaatorid ei ole suur- ega vรคiketรคhti eristavad.

Prefiks kodeerib ulatuse ja tรผรผbi lรผhidalt, seega loetakse Lv_name lokaalse varchar muutujana. Suures plokis vรคhendab see segadust ja muudab koodi haldamise lihtsamaks.

Operaator := mรครคrab muutujale vรครคrtuse. รœksikut = kasutatakse tingimuste sees vรตrdlemiseks. Nende segamine on algajate seas levinud viga, mis pรตhjustab kompileerimise ajal tรตrke.

Jah. Tehisintellekt saab paketti skannida, mรคrgistada identifikaatoreid, mis rikuvad kokkulepitud eesliiteid, ja pakkuda รผmbernimetusi. Samuti saab see genereerida uutele muutujatele รผhtseid nimesid, mis pรตhinevad nende ulatusel ja tรผรผbil.

Ei. lv_name ja LV_NAME viitavad samale identifikaatorile. Ainult รผlakomades olevad stringliteralid on tรตstutundlikud, seega on olemas konventsioon loetavuse huvides, mitte sellepรคrast, et kompilaator seda nรตuab.

Vรตta see postitus kokku jรคrgmiselt: