En lagret prosedyre er en allerede skrevet SQL-setning som er lagret i databasen. Hvis du gjentatte ganger bruker visse spørsmål, ved å plassere SQL-setninger til lagrede prosedyrer , trenger du bare å skrive dem en gang . Lagrede prosedyrer kan hjelpe programmerere og administratorer betraktelig når du arbeider med database design og sine data . Komme i gang
p Hvis du har skrevet SQL-setninger som INNLEGG velger og oppdateringer , har du allerede skrevet mesteparten av en lagret prosedyre . Når du setter disse SQL-setninger i en lagret prosedyre , kan du deretter kjøre den lagrede prosedyren fra noen database kommando miljø .
Det første kan du ikke skrive lagrede prosedyrer uten en database . Databasen lagrer all logikk. Den lagrede prosedyren ville være ubrukelig uten databasen. Databasesystemer tillate deg å dra nytte av nyttige funksjoner og enkelt utføre spesifikke søk gjennom tabellene .
Deretter må du bestemme hva du vil at lagret prosedyre å gjøre. Følgende er spørsmål du må stille deg selv : Vil du vise data i databasen ( SELECT ) ? Ønsker du å sette nye rekorder ( INSERT INTO ) ? Vil du endre en eksisterende post ( UPDATE ) ? Hva er de tabellene du trenger å bruke? Hvor ofte vil prosedyren faktisk brukes?
Når du forstår målet om hva den lagrede prosedyren skal gjøre, kan du begynne å lage din spørringen .
Skrive din første lagrede prosedyrer
Når du oppretter en lagret prosedyre , kan du enten bruke CREATE pROSEDYRE eller CREATE PROC etterfulgt av navnet du vil tildele til den lagrede prosedyren . Lagrede prosedyren navnene vanligvis begynner med prefikset " usp . " Etter den lagrede prosedyren navn må du bruke søkeordet "AS" og deretter resten er bare vanlig SQL -kode som du normalt ville utføre . Du kan ikke bruke søkeordet " GO " i den lagrede prosedyren . Når SQL Server kompilatoren ser " GO" det forutsetter det er på slutten av settet : en
CREATE PROSEDYRE uspGetAddressASSELECT * FROM AdventureWorks.Person.AddressGO
Når du setter en SQL-setning i en lagret prosedyre, kan du deretter kjøre den lagrede prosedyren fra databasen befaling miljø, med exec kommando:
exec uspGetAddress
" exec " forteller SQL Server for å kjøre koden i den lagrede prosedyren " uspGetAddress . " Du kan også ringe den lagrede prosedyren fra et program , for eksempel en ASP-side , Visual Basic program eller en Java servlet .