En lagrad procedur är en redan skriven SQL-uttryck som sparas i databasen . Om du upprepade gånger använder vissa frågor , genom att placera de SQL-satser i lagrade procedurer , behöver du bara skriva dem en gång . Lagrade procedurer kan hjälpa programmerare och administratörer avsevärt när du arbetar med databasdesign och dess uppgifter . Komma igång
p Om du har skrivit SQL-satser som skär, väljer och uppdateringar , så du har redan skrivit det mesta av en lagrad procedur . När du sätter dessa SQL-satser i en lagrad procedur , kan du sedan köra den lagrade proceduren från någon databas kommando miljö .
Först kan du inte skriva lagrade procedurer utan en databas . Databasen lagrar all logik . Den lagrade proceduren skulle vara värdelös utan databasen . Databassystem kan du dra nytta av användbara funktioner och enkelt utföra specifika sökningar under tabellerna .
Därefter måste du bestämma vad du vill att din lagrade proceduren att göra . Följande är frågor du måste ställa dig själv : Vill du visa data i databasen ( SELECT ) ? Vill du infoga nya poster ( INSERT INTO ) ? Vill du ändra en befintlig post ( UPDATE ) ? Vilka är de tabeller som du behöver för att använda ? Hur ofta kommer det förfarande som faktiskt används ?
När du förstår målet med vad din lagrade proceduren ska göra , kan du börja skapa din sökning . Addera skriva din första Stored Procedure
När du skapar en lagrad procedur , kan du antingen använda CREATE förfarandet eller PROC följt av namnet du vill tilldela till den lagrade proceduren . Lagrad procedur namn börjar vanligen med prefixet " USP . " Efter den lagrade proceduren namn måste du använda nyckelordet " AS " och sedan resten är bara den vanliga SQL- kod som du normalt skulle utföra . Du kan inte använda nyckelordet " GO " i den lagrade proceduren . När SQL Server kompilatorn ser " GO " det förutsätter att det är slutet av uppsättningen :
SKAPA * GÅNG uspGetAddressASSELECT FRÅN AdventureWorks.Person.AddressGO
När du sätter ett SQL-uttryck i en lagrad procedur , kan du köra den lagrade proceduren från databasen befallning miljö , med exec kommando :
exec uspGetAddress
" exec " talar om för SQL Server för att köra koden i den lagrade proceduren " uspGetAddress . " Du kan också ringa den lagrade proceduren från ett program , t.ex. en ASP-sida , Visual Basic-program eller en Java servlet .