Inngang og utgang i lagrede prosedyrer

Inngang og utgang i lagrede prosedyrer


De fleste relasjonsdatabasesystemer bruke Structured Query Language, eller SQL, for å lage database strukturer, oppdatere data og utføre rapportering og vedlikeholdsoppgaver. Database ledere bruker lagrede prosedyrer som en måte å optimalisere ofte brukte grupper av SQL-kommandoer. Databasen holder den lagrede prosedyren i en samlet form som kjører raskere enn SQL fremmes fra klientprogrammer.

lagret prosedyre

Databaseserveren behandler alle SQL-setninger som sendes 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 utsagnene og returnerer resultatene til brukeren. Hvis du bruker visse grupper av SQL ofte, er det fornuftig å opprette lagrede prosedyrer av dem, da dette kan serveren lagre kommandoene i en form som allerede er testet og optimalisert. En lagret prosedyre er rett og slett et sett av SQL-kommandoer du sparer gjennom bruk av CREATE PROSEDYRE utsagnet. Du leverer SQL-kommandoer og et navn og databasesystemet skaper en ny oppføring i sin liste over lagrede prosedyrer. For å bruke prosedyren, bare gi navnet etterfulgt av noen input parametere.

inngangs~~POS=TRUNC

Når du oppretter en lagret prosedyre, kan du eventuelt angi et antall parametre prosedyren vil bruke. Du definerer parameterne som variabler som begynner med en "@" etterfulgt av parameterdatatype, for eksempel karakter, 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" for å indikere en inngangsparameter. Andre, for eksempel Microsoft SQL Server, anta en inngangsparameter med mindre du bruker ordet "UTGANG", i hvilket tilfelle prosedyren bruker parameteren for produksjonen.

utdataparametre

En lagret prosedyre kan ha noen parametere, eller en blanding av input og output parametre. Du må gi input parametere når du starter prosedyren og prosedyren returnerer utdataparametere til deg, eller et program, når prosedyren er fullført. Hvis du vil angi en utgang parameter, bruker ordet OUT eller UTGANG etter parameterdatatype.

Bruker

Lagrede prosedyrer har to hovedfordeler: de kjører raskere enn standard SQL-setninger og de reduserer tedium ofte skrevet kommandoer. For eksempel, hvis du har databasetabellene som brukes til testing som du ofte tømme ut med TRUNCATE TABLE-setningen, kan du pakke dem sammen i en lagret prosedyre. Hvis du endrer informasjon i visse databasetabeller, kan du opprette en lagret prosedyre med input parametere som godtar de nye dataene. Å mate resultatene av ett sett av SQL-setninger til et annet sett, bruke en lagret prosedyre med utgangsparametere.