etapa 99


www.PERVYE ShAGI.ru. Pasul 99 - PL / SQL - Pachete - prioritari, funcții și proceduri



Pasul 99 - PL / SQL - Pachete - prioritari, funcții și proceduri

Cred că cu siguranță, unii dintre voi sunt familiarizați cu limbaje de nivel înalt și
principiile programării orientate pe obiecte. Deci La determinarea
Pachetul poate fi folosit truc foarte interesant numit „suprascriere
funcții și proceduri „(supraîncărcată). De exemplu, în C ++ sau C #. pe
pe care acum în principal, scrie partea de client la server Oracle,
este conceptul de „funcția supraîncărcat“. Atunci când în mediul Visual Studio.NET. tu
Orteza de deschidere după definirea semnăturii funcției pe care îl vedeți ce este
este prezentată mai jos:

Numărul 7 indică faptul că funcția are șapte semnături supraîncărcat. atunci când aleg
special dintre ele se declanșează este cel a cărui semnătură este definită în
moment. Proceduri și funcții în cadrul modulului (pachet) poate fi, de asemenea
redefinit. Este posibil să se definească anumite proceduri sau funcții cu un singur
același nume, dar cu diferiți parametri. În PL / SQL - are sens
Atunci când se aplică această proprietate a pachetului, în ceea ce privește prelucrarea diferitelor obiecte
tipuri. Acolo doar văzut, sau un fel de încercare de a provoca
PL / SQL - la modelul orientat pe obiect, folosind principiile de bază
OOP. Să încercăm să-l pună în aplicare, practic. Scriem acest titlu
pachet:

Obținem după compilare:

În acest caz, funcția Add_One_Num are trei tipuri de initializare. K
De ce să acorde o atenție la următorul fapt interesant:

Op! Un câmp de stare indică VALID. Dar trupul este încă tot acolo!
Unde este logica? Un fapt ciudat, dar lăsați-l pe conștiința Larry Ellison. ) Crearea
pachet corp pentru a calma conștiința! Noi scrie:

După compilare obținem:

Ce ne bucurăm! În cele din urmă a primit pachetul cu o funcție imperativ.
Acum puteți verifica comportamentul funcției noastre puțin de benzi desenate
Add_One_Num. ) Cu toate că acest lucru nu este important, principalul lucru pe care sunt bune
a aflat cum funcționează. Deci, putem scrie un bloc anonim:

Din nou, aritmetica pentru clasa triumfă primele 2 plus 2 este 4! Și acest lucru nu este
pariu. Dar, există unele limitări! Ce se poate face - asta e viața!
  1. Nu poți trece peste o procedură sau o funcție, în cazul în care semnăturile lor diferă
    Numai numele sau tipurile.
    De exemplu: sau
  2. Nu poți trece peste o procedură sau o funcție, în cazul în care semnăturile lor diferă
    numai tipurile de date returnate de acestea.
    De exemplu:
  3. Tipuri de parametri procedură sau funcții ar trebui să aparțină diferite
    tip de familie. De exemplu, CHAR și VARCHAR sunt aceleași pentru
    nu se poate trece peste procedura ca aceasta:

Subiect Current Rating: Nici unul