Som mange af jer ved, er jeg en stor fan af SQL Server Performance Tuning-området, og jeg bruger det meste af tiden på at arbejde med klienten på forskellige SQL Server Performance Tuning-projekter. Den bedste del af mit job er, at jeg kommer til at arbejde med den nye klient hver dag om mit yndlingsemne Comprehensive Database Performance Health Check . For nylig, mens jeg arbejdede med en klient på et system, kom jeg ind i en meget interessant situation, hvor jeg skulle skrive en lagret procedure i tre forskellige programmeringssprog MySQL, MariaDB og SQL Server. Selvom det var nemt for mig at skrive en lagret procedure i SQL Server, fandt jeg ud af, at man for MariaDB og MySQL skal kende en smule syntaks for at skrive den allerførste lagrede procedure.
Målet med dette blogindlæg er at give en skabelon til alle, der ønsker at skrive deres allerførste lagrede procedure med MariaDB eller MySQL.
Lad os se, hvordan vi kan skrive den lagrede procedure i MariaDB og MySQL. Bemærk venligst, at den lagrede procedure ikke behøver at acceptere nogen parameter og heller ikke interagerer med nogen databasetabel. Det returnerer bare værdi 1, når vi udfører det.
-- Change the delimiter DELIMITER // -- Create the stored procedure CREATE OR REPLACE PROCEDURE FirstProc() BEGIN SELECT 1 AS OurResult; END // -- Change back the delimiter DELIMITER ; -- Call the stored procedure CALL FirstProc(); -- remove the stored procedure DROP PROCEDURE FirstProc;
Nå, det er det. Vi har oprettet vores lagrede procedure.
Det er værd at bemærke, at i MariaDB og MySQL, når du opretter den lagrede procedure, skal du angive parentes () efter navnet på den lagrede procedure. Der er dog ikke behov for parentesen, når vi dropper den lagrede procedure.
Hvis du vil begynde at lære MariaDB eller MySQL, er her linket, hvor du kan lære mere om det:
- MySQL Fundamentals 1
- MySQL Fundamentals 2
- Kom godt i gang med MariaDB
Lad mig vide, hvis du har nogle gode tricks til SQL Server, jeg vil med glæde skrive på bloggen med behørig ære til dig.