Както много от вас знаят, аз съм голям фен на областта за настройка на производителността на SQL Server и прекарвам по-голямата част от времето в работа с клиента по различни проекти за настройка на производителността на SQL Server. Най-добрата част от работата ми е, че започвам да работя с новия клиент всеки ден по любимата ми тема за Подробна проверка на ефективността на базата данни . Наскоро, докато работех с клиент на система, попаднах в много интересна ситуация, в която трябваше да напиша съхранена процедура на три различни езика за програмиране MySQL, MariaDB и SQL Server. Макар че ми беше лесно да напиша съхранена процедура в SQL Server, открих, че за MariaDB и MySQL човек трябва да знае малко синтаксис, за да напише първата съхранена процедура.
Целта на тази публикация в блога е да предостави шаблон за всеки, който иска да напише първата си съхранена процедура с MariaDB или MySQL.
Нека видим как можем да напишем съхранената процедура в MariaDB и MySQL. Моля, имайте предвид, че съхранената процедура не трябва да приема никакъв параметър и също така не взаимодейства с никоя таблица на базата данни. Той просто връща стойност 1, когато го изпълним.
-- 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;
Е, това е всичко. Успешно създадохме нашата съхранена процедура.
Заслужава да се отбележи, че в MariaDB и MySQL, когато създавате съхранената процедура, трябва да посочите скоби () след името на съхранената процедура. Въпреки това, няма нужда от скоби, когато пускаме съхранената процедура.
Ако искате да започнете да изучавате MariaDB или MySQL, ето връзката, където можете да научите повече за това:
- Основи на MySQL 1
- Основи на MySQL 2
- Първи стъпки с MariaDB
Уведомете ме, ако имате някакви добри трикове за SQL Server, ще се радвам да публикувам в блога с дължимата благодарност.