Sql Procedura de creare și utilizare stocate
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.
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).
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.
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;
- Transferul de date cu o declarație de returnare;
- transmiterea datelor prin selectarea operatorului.
Ș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 cadrul procedurii de server Microsoft SQL organism. 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:
- organism nu ar trebui să creeze orice altă procedură stocată;
- corpul nu ar trebui să creeze o impresie falsă despre obiect;
- corpul nu ar trebui să creeze declanșatori.
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
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:
- Returnează valoarea stocată procedura;
- proceduri stocate parametru de ieșire;
- selectarea uneia dintre procedurile memorate.
4.1 Valorile de returnare ale procedurilor stocate SQL
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
î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.
alimente „sănătoase“, care ar trebui să elimine rapid din Meet dieta cu o listă de produse care apar numai pentru a fi de ajutor, dar, de fapt, acestea ar trebui evitate.