De huvudskillnad mellan lagrad procedur och funktion är det en lagrad procedur är en uppsättning SQL-satser som kan utföras på RDBMS om och om igen medan en funktion är en uppsättning instruktioner skrivna med ett programmeringsspråk som kan utföras om och om igen.
Ett relationsdatabasstyrningssystem (RDBMS) är ett databashanteringssystem som bygger på relationsmodellen. Det lagrar data i databaser. Varje databas består av flera tabeller, som är relaterade till varandra. RDBMS hjälper till att lagra, manipulera och hämta data i databasen enkelt. En lagrad procedur kan användas på RDBMS. Det är en återanvändbar uppsättning SQL-satser. Å andra sidan är en funktion en återanvändbar uppsättning instruktioner skrivna i ett programmeringsspråk som utför en specifik uppgift. Programmeringsspråk som C, C ++, Python, Java, PHP, Perl etc. tillåter programmeraren att skapa funktioner.
1. Vad är en lagrad procedur?
- Definition, exempel
2. Vad är en funktion
- Definition, exempel
3. Skillnad mellan lagrad procedur och funktion
- Jämförelse av viktiga skillnader
Funktion, lagrad procedur
En lagrad procedur är en uppsättning SQL-instruktioner för att utföra en uppgift på RDBMS. Om det finns en uppsättning SQL-frågor som bör återanvändas kan programmeraren skriva en lagrad procedur. Då kan han kalla det och genomföra det. Det går även att skicka parametrar till den lagrade proceduren för att utföra en uppgift.
Figur 1: Lagrad procedur
Syntaxen för den lagrade proceduren är som följer.
SKAPA PROCEDURE procedurenamn
SOM
sql uttalande
GÅ;
Följande fråga används för att utföra proceduren,
EXEC procedurnamn;
Följande SQL-formulering skapar ett lagrat procedurnamn "SelectStudents". Den väljer samtliga elever i studentbordet.
SKAPA PROCEDURE SelectStudents
Som
VÄLJ * FRÅN STUDENTER
GÅ;
Den lagrade proceduren kan utföras med följande kommando,
EXEC SelectStudents;
Den lagrade proceduren kan också acceptera parametrar. Nedan skapar SQL-uppställning en lagrad procedur som väljer Studenter av det angivna namnet från studentbordet.
SKAPA PROCEDURE SelectStudents @Name varchar (50)
SOM
VÄLJ * FRÅN STUDENTER WHERE Namn = @Name
GÅ;
Följande uttalande används för att utföra proceduren.
EXEC SelectStudents Name = "Ann";
Det kommer att välja alla elever med namnet "Ann" i studentbordet.
En funktion är en uppsättning instruktioner för att utföra en specifik uppgift. Nästan alla programmeringsspråk som C ++, C, Java och Python tillåter programmeraren att skriva funktioner. En funktion gör det möjligt att återanvända samma uppsättning instruktioner om och om igen. Dessutom organiserar den hela koden.
Figur 2: Huvudfunktionen i C
En funktion har följande syntax.
return_type function_name (parameterlista)
// uttalanden inuti funktionen
Det kan finnas funktioner som accepterar parametrar och accepterar inte parametrar. Se nedan funktionen.
void displayMessage ()
prinf ("Hello World \ n");
Ovanstående är en enkel C-funktion. Det får inga parametrar. Det skriver helt enkelt meddelandet "Hello World" till konsolen. Den här funktionen returnerar inget värde. Därför är returtypen ogiltig.
En funktion kan också acceptera parametrar. Se nedan exempel.
int calArea (int bredd, int längd)
int area = bredd * längd;
returområde;
Ovanstående är en funktion som heter calArea. Det får två heltalsparametrar som kallas bredden och längden. En lokal variabel som heter "area" skapas inuti funktionen. Det tilldelas multiplikationen av två värden. Slutligen returneras det beräknade området. Det är ett heltal. Därför är returtypen int.
En lagrad procedur är en grupp av SQL-satser som kan utföra en viss uppgift i Relational Database Management-systemet. En funktion är en fristående kodmodul som uppnår en specifik uppgift.
Vidare används en lagrad procedur i RDBMS medan en funktion används i något programmeringsspråk som C, C ++ och Java etc.
Skillnaden mellan lagrad procedur och funktion är att en lagrad procedur är en uppsättning SQL-satser som kan utföras på RDBMS om och om igen medan en funktion är en uppsättning instruktioner skrivna med ett programmeringsspråk som kan utföras om och om igen. Kortfattat är en lagrad procedur en återanvändbar uppsättning SQL-satser medan en funktion är en återanvändbar uppsättning instruktioner skrivna på ett programmeringsspråk.
1. "SQL lagrade procedurer för SQL Server." W3Schools Online Web Tutorials, tillgängligt här.
2. "C-funktioner". Www.tutorialspoint.com, Tutorials Point, Tillgänglig här.
1. "Процедур" Av Muug1 - eget arbete, CC BY-SA 4.0) via Wikimedia Commons
2. "Notepad ++ v6.9.2 på Windows 10, med" Hello World "källkod i C programmeringsspråk, med autonompletion av funktionsnamn" By Notepad ++ v6.9.2 SkärmdumpSelf-fotograferade, derivatarbete (Public Domain) via Commons Wikimedia