Mest relasjonsdatabase-systemer bruker Structured Query Language , eller SQL , for å lage database strukturer , oppdatere data og utføre rapportering og vedlikeholdsoppgaver . Database ledere bruke lagrede prosedyrer som en måte å optimalisere ofte brukte grupper av SQL-kommandoer . Databasen holder den lagrede prosedyren i en kompilert form som går raskere enn SQL sendt fra klientprogrammer . Lagret prosedyre
database serveren behandler alle SQL-setninger sendt av programmer og brukere. Når den mottar SQL, det første sjekker koden for korrekthet og optimaliserer det for best mulig ytelse , så det utfører uttalelser og returnerer resultatet til brukeren. Hvis du bruker visse grupper av SQL ofte, er det fornuftig å opprette lagrede prosedyrer for dem , da dette lar serveren lagre kommandoene i en form som allerede er testet og optimalisert. En lagret prosedyre er rett og slett et sett med SQL-kommandoer du lagrer gjennom bruk av CREATE PROSEDYRE uttalelse. Du leverer SQL-kommandoer og et navn og databasesystemet oppretter en ny oppføring i sin liste over lagrede prosedyrer . For å bruke prosedyren , bare gi navnet etterfulgt av noen inndataparameterne .
Inngangsparametere
Når du oppretter en lagret prosedyre , kan du eventuelt angi en rekke parametere prosedyren vil bruke. Du definerer parametrene som variabler som begynner med en " @ " etterfulgt av parameter datatype , for eksempel tegn , heltall eller dato . Hvis prosedyren har mer enn én inngang parameter , skiller du dem med komma . Noen versjoner av SQL , for eksempel Oracle , krever at du bruker ordet " IN" å indikere en inndataparameter . Andre, for eksempel Microsofts SQL Server , antar en inndataparameter med mindre du bruker ordet "UT ", i så fall fremgangsmåten bruker parameter for produksjonen .
Utdataparametere
En lagret prosedyre kan ha noen parametere, eller en hvilken som helst blanding av input og output parametre . Du må gi input parametere når du starter prosedyren og prosedyren returnerer output parametre til deg, eller et program , når prosedyren er fullført . Hvis du vil angi en utgang parameter , bruker ordet OUT eller UTGANG etter parameter datatype
Bruker
Lagrede prosedyrer har to viktige fordeler : . De kjører raskere enn standard SQL uttalelser og de reduserer kjedelige ofte maskinskrevne kommandoer. For eksempel , hvis du har database tabeller som brukes for å teste at du ofte tømme ut med avkorte TABLE-setningen , kan du pakke dem sammen i en lagret prosedyre . Hvis du endrer informasjonen i visse databasetabeller , kan du opprette en lagret prosedyre med input parametere som godtar de nye dataene . Å mate resultatene av ett sett med SQL-setninger til et annet sett , bruk en lagret prosedyre med utdataparametere .