Lagrede prosedyrer for en SQL Server Express

Microsoft SQL Server Express er en gratis versjon av Microsofts SQL Server, som er en ressurs for administrasjon og oppretting av databaser, og utføring av dataanalyse. Mye av funksjonaliteten til den ikke-gratis versjonen av SQL Server finnes i SQL Server Express, inkludert det visuelle styringsverktøyet SQL Management Studio og muligheten til å gjøre bruk av lagrede prosedyrer.

Språk for lagrede prosedyrer

Lagrede prosedyrer er SQL-spørsmål som SQL Server-brukere kan lagre og deretter tilbakekalle for senere kjøring. Viktige funksjoner i lagrede prosedyrer inkluderer deres programmerbarhet og deres evne til å akseptere parametere. Lagrede prosedyrer er skrevet på programmeringsspråket til Transact SQL, som brukes til å utføre databasespørsmål. Lagrede prosedyrer har form av andre SQL-setninger skrevet i transact SQL, samtidig som de godtar parametere.

Opprette lagrede prosedyrer

I Microsoft SQL Server kan en ny lagret prosedyre opprettes ved å høyreklikke på en mappe med eksisterende lagrede prosedyrer, kalt \ "Lagrede prosedyrer, \" i Object Explorer-ruten. SQL Server oppretter denne mappen automatisk når en ny database opprettes, og plasserer den her i mappehierarkiet: [dbaseName]> [\ "Programmability \"]> [\ "Stored Procedures \"].

Nye lagrede prosedyrer for dbaseName lagres utenfor undermappen \ "System Stored Procedures", som er under [\ "Stored Procedures \"]. Når du oppretter en ny database, fyller SQL Server mappen System Stored Procedures med skript for å vedlikeholde databasen. SQL Server-brukere trenger ikke å bruke disse systemlagrede prosedyrene for å lage sine egne.

Når den lagrede prosedyren først er opprettet, åpnes en ny søkefane. Fanen inneholder en mal eller et eksempelspørsmål, som brukeren deretter endrer for å passe sine formål.

Eksempelprosedyre

Et eksempel på en lagret prosedyre er følgende:

BRUK [test] GO CREATE PROCEDURE [dbo]. [Mysp_selectstuff] AS - SET NOCOUNT ON lagt til for å forhindre at ekstra resultatsett fra - forstyrrer SELECT-setninger. - SETT KONTON PÅ FART

- Sett inn uttalelser for prosedyren her VELG * fra dbo.Movies GO GO EXEC [dbo]. [Mysp_selectstuff] GO GO DROP PROCEDURE [dbo]. [Mysp_selectstuff] GO GO

Struktur av en lagret prosedyre

Det er vanlig å kapitalisere SQL-setningene for å skille dem fra databaskomponentene utsagnene opererer på. Kommentarer begynner med \ "- \" strengen. Disse har ingen effekt på spørringen. I dette eksemplet kalles databasen som blir spurt \ "test, \" og tabellen i databasen er filmer. Prefikset \ "dbo \" er lagt til i filmer for å skille det fra andre tabeller som kan ha samme navn. Hele spørringen velger bare alle felt for alle poster i filmtabellen.

Kjører lagrede prosedyrer

GO-setningene er som RUN-setningene i BASIC-programmer: de ber SQL-tolken om å utføre utsagnene som kommer foran dem. EXEC-setningen utfører spørringen, og DROP PROCEDURE frigjør spørringen etter at den er kjørt, noe som er nødvendig før du kjører spørringen igjen. Det angitte spørsmålet kjøres faktisk av SQL Server når F5 eller Utfør verktøylinjeknappen trykkes.