Cunoaște Intuit, curs, proceduri stocate

Procedurile stocate în mediul MS SQL Server

Atunci când se lucrează cu utilizatorii SQL Server pot crea propriile proceduri care pun în aplicare aceste sau alte acțiuni. Procedurile stocate sunt un complet de sine stătătoare obiecte de bază de date. ci pentru că fiecare dintre ele este stocată într-o bază de date specifică. Apel direct la procedura stocată este posibilă numai în cazul în care este efectuată în cadrul bazei de date. în cazul în care procedura este.







Tipuri de proceduri stocate

În SQL Server, există mai multe tipuri de proceduri stocate.

  • Procedurile de sistem stocate sunt proiectate pentru a efectua o varietate de acțiuni administrative. Practic, toate aspectele legate de administrarea serverului se face cu ei. S-ar putea spune că procedurile stocate sistem sunt interfata pentru lucrul cu tabelele de sistem, care în cele din urmă este redus pentru a schimba, adăuga, șterge și regăsire a datelor din tabelele de sistem ca un utilizator și sistem de baze de date. Procedurile memorate de sistem sunt sp_ prefix. stocate în baza de date de sistem și poate fi numit în contextul oricărei alte baze de date.
  • stocate personalizate procedurile de punere în aplicare a anumitor acțiuni. Proceduri de memorare - o bază de date obiect plin. Ca rezultat, fiecare procedură stocată este situată într-o bază de date specifică, în cazul în care se efectuează.
  • Procedurile stocate temporar există doar pentru un timp, și apoi șterse în mod automat de către server. Acestea sunt împărțite în locale și globale. Procedurile stocate local temporar pot fi declanșate numai din compusul în care a creat. Când creați o procedură, este necesar să se dea un nume care începe cu un caracter #. La fel ca toate obiectele temporare, procedurile stocate de acest tip sunt șterse automat atunci când utilizatorul Log off, repornire, sau a opri serverul. Procedurile stocate timp global sunt disponibile pentru oricare dintre compușii serverului pe care este aceeași procedură. Pentru a-l determina suficient pentru a da un nume care începe cu caracterele ##. Eliminat aceste proceduri la repornirea sau opri serverul, precum și la închiderea conexiunii, în contextul care au fost create.

Crearea, editarea și ștergerea procedurilor stocate

Crearea unei proceduri stocate presupune următoarele sarcini:

  • determinarea tipului de produs prin procedura memorată. temporară sau utilizator. În plus, vă puteți crea propriul sistem de procedură stocată. atribuirea unui nume prefixat cu sp_ si inscrie in baza de date a sistemului. O astfel de procedură va fi disponibilă în contextul oricărei baze de date cu privire la datele server local;
  • permisiuni de planificare. Când creați o procedură stocată trebuie să se țină cont de faptul că va avea aceleași drepturi de acces la baza de date obiecte pe care utilizatorul și a făcut;
  • parametrii ce determină procedură stocată. O astfel de procedură, care face parte din cele mai multe limbaje de programare, proceduri stocate pot avea intrare și ieșire parametri;
  • Codul de dezvoltare procedură stocată. Codul de procedură poate conține orice secvență de comenzi SQL, inclusiv apelarea altor proceduri stocate.






Crearea de noi și modificarea procedură stocată existente, utilizând următoarea comandă:

Luați în considerare opțiunile acestei comenzi.

Utilizarea sp_ prefix. #. ##. Procedura de pozat poate fi determinată ca un sistem sau temporar. După cum se poate observa din sintaxa comenzii nu îi este permis să specificați numele proprietarului, care va face parte din procedura creată, precum și numele bazei de date, în cazul în care ar trebui să fie plasat. Astfel, pentru a se potrivi procedura stocată într-o bază de date specifică, trebuie să execute Procedura de a crea în cadrul bazei de date. La accesarea corpul unei proceduri stocate la obiectele de aceeași bază de date, puteți utiliza nume scurte, t. E. fără a specifica un nume de bază de date. Când doriți să se refere la obiecte în alte baze de date, specificând numele bazei de date este obligatorie.

Numărul din numele - este stocat numărul de identificare procedură. identifică în mod unic în grupul de proceduri. Pentru a facilita procedurile de management este în mod logic, același tip de proceduri stocate pot fi grupate prin atribuindu-le același nume, dar diferite numere de identificare.

parametri pot fi utilizate pentru a transfera date de intrare și de ieșire generate de procedura memorată. nume, precum și numele variabilelor locale trebuie să înceapă cu simbolul @. Într-o procedură stocată puteți specifica o multitudine de parametri. separate prin virgulă. Corpul procedurii nu ar trebui să se aplice variabile locale, ale căror nume coincide cu numele parametrilor procedurii.

Pentru a determina tipul de date care va avea procedura stocată parametrul corespunzător. potrivi cu orice tip de date SQL, inclusiv definite de utilizator. Cu toate acestea tip de date CURSORULUI poate fi utilizat numai ca o procedură stocată parametru de ieșire. și anume care indică producția de cuvinte cheie.

Prezența cuvântului cheie IEȘIRE indică faptul că parametrul corespunzător este folosit pentru a returna datele din procedura memorată. Cu toate acestea, acest lucru nu înseamnă că nu este adecvată pentru transmiterea valorilor la procedura stocată. Notă IEȘIRE cuvânt cheie determină serverul atunci când iese procedură stocată pentru a atribui o valoare curentă a unei variabile locale, care a fost specificat atunci când se solicită procedură ca valoare a parametrului. Rețineți că, atunci când specificarea valorii de cuvinte cheie de ieșire a parametrului corespunzător din apelul de procedură poate fi setat numai printr-o variabilă locală. Nu aveți dreptul să utilizați orice expresii sau constante, valabile pentru parametrii obișnuiți.

VARIATE cuvânt cheie este utilizat în conjuncție cu parametrul de ieșire. având tip CURSOR. Se specifică faptul că parametrul de ieșire este rezultatul stabilit.

DEFAULT cuvânt cheie este valoarea care va lua opțiunea corespunzătoare în mod implicit. Astfel, nu se poate specifica în mod explicit valoarea parametrului corespunzător din apelul de procedură.

Deoarece serverul de cache planul de execuție interogare și codul compilat valorile gata vor fi folosite la următoarea procedura se numește. Cu toate acestea, în unele cazuri, încă mai trebuie să efectueze procedura recompilarea codului. Rețineți cuvântul cheie recompilați instruiește sistem pentru a crea un plan de execuție procedură stocată de fiecare dată când este numit.

Replicarii opțiune cerut pentru replicarea datelor și care să permită crearea de proceduri stocate într-un articol din publicația.

AS cuvânt cheie este plasat la începutul corpului procedură stocată actuale. și anume set de comenzi SQL, și prin intermediul cărora vor fi realizate sau acea acțiune. Corpul procedura poate fi aplicată practic toate comenzile SQL, a declarat tranzacția dobândește un sistem de blocare și de apel alte proceduri memorate. Din procedura stocată poate fi realizată prin comanda RETURN.

Eliminarea procedurii memorate se realizează folosind: