Crearea de proceduri stocate (componentele motorului bazei de date)

Pentru a crea o procedură stocată este o declarație Transact-SQL CREATE PROCEDURA.

Înainte de a crea o procedură stocată, rețineți următoarele.

Instrucțiunea CREATE PROCEDURE nu pot fi combinate cu alte instrucțiuni SQL într-un singur pachet.

Pentru a crea procedurile memorate CREATE necesare permisiunea PROCEDURA în baza de date și ALTER permisiunea în schema respectivă. Pentru a crea proceduri CLR stocate trebuie să fie proprii ansamblul de referință de , sau au în această permisiune REFERINȚE de asamblare.

Procedurile stocate sunt obiecte de schema, iar numele lor trebuie să se conformeze cu numele de identificatori.

O procedură stocată poate fi creată numai în baza de date curentă.

Când creați o procedură stocată, trebuie să specificați următoarele.

De intrare și de ieșire parametri la procedura de asteptare sau pachet.

Instrucțiuni care efectuează operațiuni asupra bazei de date, inclusiv apelarea alte proceduri.

Codul de starea returnate de procedura de apel sau un pachet și indică succesul sau eșecul (și cauza erorii).

Instrucțiunile care sunt necesare pentru detectarea și tratarea eventualelor erori.

Eroare funcție de manipulare, cum ar fi ERROR_LINE și ERROR_PROCEDURE, pot fi utilizate în procedurile memorate. Pentru mai multe informații, consultați., Consultați Utilizarea structurii TRY. CAPTURA în Transact-SQL.

Este recomandat să nu pentru a selecta numele procedură stocată cu sp_ prefix. SQL Server utilizează prefixul sp_ pentru a desemna proceduri memorate de sistem. Numele selectat poate intra în conflict cu proceduri de sistem, care vor apărea în viitor. O cerere care se referă la procedura specificată nu este complet (fără circuit), al cărui nume se potrivește cu numele procedurii de sistem stocate nu va funcționa în mod corespunzător, deoarece procedura de sistem stocată va fi efectuată în locul procedurii dorite.

Dacă numele personalizat procedură stocată care se potrivește cu numele unei proceduri de sistem, având în vedere incompletă sau se află în sistemul de DBO. aceasta nu ar trebui să fie făcut; în schimb va rula întotdeauna un sistem de procedură stocată. Următorul exemplu demonstrează această situație.

Mai mult decât atât, utilizarea explicită a performanței circuitului de calificare se îmbunătățește. Rezoluția Numele se face mai rapid în cazul în care baza de date a motorului nu trebuie să caute o procedură în mai multe scheme. Pentru mai multe informații, consultați. Cum de a rula proceduri stocate.