Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
En lagrad procedur är ett exekverbart objekt som lagras i en databas. SQL Server stödjer:
Lagrade procedurer:
En eller flera SQL-satser förkompilerade till en enda körbar procedur.
Utökade lagrade procedurer:
C- eller C++-dynamiska länkbibliotek (DLL) skrivna till SQL Server Open Data Services API för utökade lagrade procedurer. Open Data Services API utökar kapaciteten för lagrade procedurer till att inkludera C- eller C++-kod.
När man exekverar satser kan anrop av en lagrad procurder på datakällan (istället för att direkt exekvera eller förbereda ett statement i klientapplikationen) ge:
Högre prestanda
SQL-satser parsas och kompileras när procedurer skapas. Denna overhead sparas sedan när procedurerna utförs.
Minskad nätverksöverhead
Att köra en procedur istället för att skicka komplexa frågor över nätverket kan minska nätverkstrafiken. Om en ODBC-applikation använder ODBC { CALL }-syntaxen för att köra en lagrad procedur gör ODBC-drivrutinen ytterligare optimeringar som eliminerar behovet av att konvertera parameterdata.
Större konsekvens
Om en organisations regler implementeras i en central resurs, såsom en lagrad procedur, kan de kodas, testas och felsökas en gång. Individuella programmerare kan då använda de testade lagrade procedurerna istället för att utveckla egna implementationer.
Större noggrannhet
Eftersom lagrade procedurer vanligtvis utvecklas av erfarna programmerare tenderar de att vara mer effektiva och ha färre fel än kod som utvecklats flera gånger av programmerare med olika färdighetsnivåer.
Tillagda funktioner
Utökade lagrade procedurer kan använda C- och C++-funktioner som inte finns i Transact-SQL satser.
För ett exempel på hur man anropar en lagrad procedur, se Process Return Codes and Output Parameters (ODBC).