CalculatoareBaze de date

SQL proceduri stocate: Crearea și utilizarea

Procedurile stocate SQL sunt modul software executabil care pot fi stocate în baza de date sub forma de diverse obiecte. Cu alte cuvinte, acesta este un obiect care conține SQL-declarație. Aceste proceduri stocate pot fi executate în aplicația client pentru a obține o performanță bună. În plus, astfel de facilități sunt adesea numite de alte script-uri sau chiar de la orice altă secțiune.

introducere

Mulți oameni cred că acestea sunt similare cu procedurile diferitelor limbaje de programare de nivel înalt (respectiv, cu excepția MS SQL). Poate că acest lucru este adevărat. Ei au parametri similari, ei pot emite o valoare similară. Mai mult decât atât, în unele cazuri, acestea vin în contact. De exemplu, acestea sunt combinate cu bazele de date DDL și datele DML, precum și funcțiile de utilizator (nume de cod - UDF).

Procedurile SQL stocate De fapt au o gamă largă de avantaje pe care le deosebesc între astfel de procese. Siguranta, productivitate de programare variabilitate - toate acestea atrage utilizatorii care lucrează cu baze de date, mai mult și mai mult. Vârful de popularitate a venit proceduri pentru anii 2005-2010, când am primit programul de la „Microsoft“ sub numele de «SQL Server Management Studio». Cu ajutorul ei, lucrul cu baze de date a devenit mult mai ușor, mai practic și mai convenabil. An după an, această metodă de transmitere a informațiilor câștigat popularitate în mediul de programare. Astăzi, MS SQL Server este un program absolut obișnuit, care , pentru ca utilizatorii să „comunice“ cu baze de date, se afla pe picior de egalitate cu „Excel“.

Când apelați procedura, acesta este procesat imediat de către server fără procese inutile și intervenția utilizatorului. Puteți apoi efectua orice acțiune cu informațiile: ștergerea, executarea, modificarea. Peste toate acestea sunt în DDL-operator, care efectuează unul singur acțiuni complexe, cu privire la aceste obiecte. Și totul se întâmplă foarte repede, iar serverul nu încărcată efectiv. Această viteză și productivitate vă permit să transferați rapid cantități mari de informații de la utilizator la server și vice-versa.

Pentru a pune în aplicare acest lucru cu informațiile, există mai multe tehnologii de limbaje de programare. Acestea includ, de exemplu, PL / SQL din sistemul de management de baze de date Oracle, PSQL în InterBase și sisteme Firebird, precum și clasicul „maykrosoftovskih» Transact-SQL. Toate acestea sunt concepute pentru a crea și rula proceduri stocate, permițându-vă să utilizați algoritmi proprii pe o mare bază de date stivuitoare. Este necesar și să se asigure că cei care efectuează gestionarea acestor informații, poate proteja toate obiectele de la terțe părți neautorizate și, prin urmare, crearea, modificarea sau ștergerea anumitor date.

productivitate

Aceste obiecte de baze de date pot fi programate în diferite moduri. Acest lucru permite utilizatorilor să selecteze tipul de proces care ar fi cea mai potrivită, care economisește timp și energie. În plus, procedura in sine este procesat, evitându-se astfel timpul petrecut pe imens de comunicare între server și utilizator. Modulul poate fi reprogramat și schimbat în direcția corectă în absolut orice moment. Mai ales demn de remarcat viteza cu care are loc lansarea procedurii memorate SQL: procesul este mai rapid alt similar cu acesta, făcându-l un convenabil și versatil.

siguranță

Acest tip de prelucrare a informațiilor diferă de procese similare în care oferă securitate îmbunătățită. Acest lucru este asigurat de faptul că alți utilizatori din procedurile de accesare pot fi eliminate în totalitate. Acest lucru va permite administratorului să efectueze operațiuni cu ei, în mod independent, fără teama de interceptare sau accesului neautorizat la baza de date.

transfer de date

Comunicarea între o procedură SQL stocată și aplicația client este de a utiliza parametrii și pentru a reveni valori. Acesta din urmă nu este necesară pentru a transmite datele la o procedură stocată, dar informațiile (în principal, la cererea utilizatorului), și prelucrate pentru SQL. Procedura Odată stocată a terminat treaba, acesta trimite pachetele de date înapoi (dar, din nou, dacă se dorește), la cererea de asteptare folosind o varietate de metode prin care pot fi puse în aplicare ca un apel la o procedură SQL stocată și retur, de exemplu:

- transmisia de date prin tipul de parametru de ieșire;

- transmisia de date prin declarația de retur;

- Transmisia de date prin selectarea transportatorului.

Și acum, uita-te la modul în care acest proces arată același interior.

1. Crearea EXEC-stocate în procedura SQL

Puteți crea o procedură în MS SQL (Managment Studio). După crearea procedurii, acesta este listat pe un nod de baze de date programabil, în care procedura este realizată de operatorul de creație. Pentru a executa proceduri stocate SQL folosind EXEC-un proces ce conține numele obiectului.

La crearea numele vine prima procedură, și apoi a făcut unul sau mai mulți parametri care îi sunt atribuite. Parametrii pot fi opțional. După parametrul (e), adică corpul procedurii, să fie scris, este necesară efectuarea unor operații necesare.

Faptul că organismul poate avea variabile locale, situate în ea, iar aceste variabile sunt locale și în legătură cu procedurile. Cu alte cuvinte, acestea pot fi luate în considerare numai în tratamente corporale Microsoft SQL Server. Procedurile stocate în acest caz, sunt considerate locale.

Astfel, pentru a crea un proces, avem nevoie de un nume de procedură și de cel puțin un parametru ca un organism de procedură. Vă rugăm să rețineți că o opțiune excelentă în acest caz este crearea și punerea în aplicare a procedurilor, cu un nume de schemă în clasificatorul.

Organismul procedură poate avea orice fel de operatori SQL, de exemplu, cum ar fi crearea unui tabel, introducând unul sau mai multe rânduri din tabel, stabilirea tipului și caracterul de baze de date, și așa mai departe. Cu toate acestea, organismul de procedură restricționează unele operațiuni în ea. Unele dintre cele mai importante limitări sunt enumerate mai jos:

- organismul nu creează nici o altă procedură stocată;

- organismul nu trebuie să creeze o impresie falsă despre obiect;

- organismul nu creează nici o declanșează.

2. Setați variabila în corpul procedurii

Puteți face variabile locale procedurii organismului, iar apoi acestea vor fi într-un organism de procedură. O bună practică este de a crea o variabilă de la începutul corpului procedură stocată. Dar puteți seta, de asemenea, variabile oriunde în corpul obiectului.

Uneori, este posibil să observați că unele variabile sunt setate în același rând, și fiecare variabilă separate prin virgulă. De asemenea, rețineți că variabila este prefixat cu @. În corpul procedurii, puteți seta o variabilă la care doriți. De exemplu, o variabilă @ NAME1 pot fi anunțate spre sfârșitul corpului procedură. Pentru a atribui o valoare unei variabile declarate folosind un set de date cu caracter personal. Spre deosebire de situația în care mai mult de o variabilă declarată în același rând, un singur set de date cu caracter personal utilizate în această situație.

Utilizatorii pun adesea întrebarea: „Cum de a atribui valori multiple într-o singură declarație în corpul procedurii„Ei bine?. întrebare interesantă, dar acest lucru este mult mai ușor decât crezi. Răspunsul: cu ajutorul unor astfel de perechi ca «Selectați Var = valoarea“. Puteți utiliza aceste perechi, separate prin virgulă.

3. Crearea unei proceduri memorate SQL

Într-o mare varietate de exemple de oameni arată a crea o procedură simplă stocată și executa-l. Cu toate acestea, procedura poate lua astfel de parametri ca procesul de asteptare va avea o valoare apropiată de ea (dar nu întotdeauna). În cazul în care acestea se potrivesc, atunci începe procesele corespunzătoare în cadrul corpului. De exemplu, dacă creați o procedură care va lua orașul și regiunea din apelantului și a reveni datele despre cât de mult autorii se referă la orașul și regiunea corespunzătoare. Procedura va interoga o bază de date tabel de autori, de exemplu, pub-uri, pentru efectuarea acestei calcul autorii. Pentru a obține aceste baze de date, de exemplu, Google descarcă scriptul SQL cu pagina SQL2005.

În exemplul anterior, procedura are doi parametri, care, în limba engleză ar fi numite în mod condiționat @State și @City. Tipul de date corespunde tipului specificat în cerere. Organismul Procedura de variabile de interne @TotalAuthors (toate autori), iar această variabilă este utilizat pentru a afișa numărul lor. Urmează o solicitare de selecție secțiune care toate contează. În cele din urmă, valoarea calculată este afișată în fereastra de ieșire folosind instrucțiunea de imprimare.

Cum se efectuează o procedură stocată SQL

Există două modalități de a efectua procedura. Prima cale este arătată prin trecerea parametri ca o listă separată prin virgulă se face după numele procedurii. Să presupunem că avem două valori (ca în exemplul anterior). Aceste valori sunt colectate folosind variabile și procedura @State @City. În această metodă, parametrii importanți ai ordinului de transmisie. Această metodă se numește secvența de transmitere a argumentelor. În a doua metodă, parametrii sunt deja atribuite în mod direct, în cazul în care ordinea nu este importantă. Această a doua metodă este cunoscută ca transmiterea argumentelor numite.

Procedura poate devia ușor de tipic. Tot la fel, ca și în exemplul anterior, dar parametrii sunt deplasate doar aici. Acesta este parametrul @City este stocat în primul rând, și @State stocate lângă valoarea implicită. Setarea implicită este de obicei alocată separat. proceduri stocate SQL sunt parametri simpli. În acest caz, cu condiția ca opțiunea „utilizator UT„înlocuiește valoarea implicită a“CA". Într-o a doua variantă de realizare trece doar o singură valoare argument pentru @City, și implicit opțiunea @State la „CA“. programatori cu experiență sunt sfătuiți că toate variabilele implicite sunt situate mai aproape de sfârșitul listei de parametri. În caz contrar, executarea nu este posibil, atunci trebuie să lucreze cu transferul de argumente numite că mai lungi și mai complicate.

4. Proceduri stocate SQL Server: moduri de a se întoarce

Există trei modalități majore de a trimite datele stocate în procedura apelată. Acestea sunt enumerate mai jos:

- valori de retur procedurii memorate;

- proceduri stocate parametru de ieșire;

- Selectați una dintre procedurile memorate.

4.1 Valorile de returnare ale procedurilor stocate SQL

În această procedură, procedura stabilește valoarea variabilei locale și returnează-l. Procedura poate, de asemenea, poate reveni direct o valoare constantă. În exemplul următor, am creat o procedură care returnează numărul total de sponsori. Dacă vom compara acest lucru cu procedura anterioară, se poate observa că valoarea de imprimare se înlocuiește invers.

Acum, să ne uităm la modul de efectuare a procedurii și afișa valoarea, returnați-l. efectuarea de proceduri necesare pentru a stabili și de imprimare variabilă, care se realizează după proces. Observați că în loc de imprimare operatorul poate utiliza Select-operator, de exemplu, selectați @RetValue și OutputValue.

4.2 Proceduri de ieșire Parametru SQL stocate

Valoarea de răspuns poate fi folosit pentru a returna o singură variabilă pe care le-am văzut în exemplul anterior. Utilizarea de ieșire permite procedura pentru a trimite una sau mai multe variabile la partea apelantă. parametru de ieșire este notat ca timpul acest cuvânt cheie «ieșire» la crearea procedură. Dacă parametrul este specificat ca un parametru de ieșire, obiectul procedură trebuie să atribuie o valoare. proceduri memorate SQL, ale căror exemple pot fi văzute mai jos, într-un astfel de caz, revenind la informațiile finale.

În acest exemplu, nu va fi numele două weekend-uri: @TotalAuthors și @TotalNoContract. Acestea sunt specificate în lista de parametri. Aceste variabile sunt atribuite valori în interiorul corpului procedură. Când folosim parametrii de ieșire, apelantul poate vedea valoarea setată în organism procedură.

În plus, în scenariul anterior, două variabile sunt declarate pentru a vedea valorile care sunt instalate proceduri stocate, MS SQL Server ca un parametru de ieșire. Apoi, procedura se realizează prin aplicarea valorii normale «CA» parametru. Următorii parametri sunt de ieșire și, prin urmare, declarate variabile sunt trecute în modul prescris. Vă rugăm să rețineți că, atunci când un cuvânt cheie de ieșire variabilă, de asemenea, specificat aici. După ce procedura este finalizată cu succes, valoarea returnată utilizând parametrii de ieșire sunt afișate în fereastra de mesaje.

4.3 Selectarea unei SQL proceduri stocate

Această tehnică este utilizată pentru a returna un set în formă de tabel valori de date (Recordset) pentru apelarea unei proceduri stocate. În acest exemplu, SQL procedură stocată cu parametrii @AuthID cere solicitanților de masă „autori“ prin filtrarea înregistrărilor returnate de acest parametru @AuthId. Selectați operatorul decide ce ar trebui să fie returnate la chemarea pe care o procedură stocată. Atunci când o procedură stocată authId transmisă înapoi. O astfel de procedură este întotdeauna returnează doar o singură înregistrare sau deloc. Cu toate acestea, procedura stocată nu are restricții privind returnarea de mai mult de o intrare. Deseori, exemple pot fi găsite în care datele de retur selectate folosind parametrii cu variabilele calculate se realizează prin asigurarea unei multitudini de valori totale.

în concluzie

O procedură stocată este un program destul de grave, returnate sau transferate, precum și stabilirea variabilelor necesare datorită aplicației client. Deoarece procedura stocată este executată pe server în sine, schimbul de date în volume mari între server și aplicația client (pentru unele calcule) pot fi evitate. Acest lucru face posibil pentru a reduce sarcina pe serverul SQL, care, desigur, este mâna deținătorilor lor. Una dintre subspecii sunt proceduri stocate SQL T, dar studiul lor este necesară pentru cei implicați în crearea unei baze de date impresionante. Există, de asemenea, o cantitate mare chiar, mare de nuanțe care pot fi utile în studiul procedurilor stocate, cu toate acestea, această necesitate pentru cei care sunt de planificare pentru a face programare strânsă, inclusiv profesional.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ro.delachieve.com. Theme powered by WordPress.