Это учебное пособие объясняет, как создавать и удалять процедуры в MySQL с синтаксисом и примерами.
Описание
В MySQL процедура - это хранимая программа, в которую вы можете передавать параметры. Процедура не возвращает значение, как функция.
Создать процедуру (create Procedure)
Как и на других языках программирования, вы можете создавать свои собственные процедуры в MySQL. Рассмотрим подробнее.
Синтаксис
Синтаксис создания процедуры в MySQL:
BEGIN
declaration_section
executable_section
END;
Параметры или аргументы
procedure_name - наименование процедуры в MySQL.
parameter - необязательный. Один или несколько параметров передаются в процедуру. При создании процедуры могут быть объявлены три типа параметров:
- IN - Параметр может ссылаться на процедуру. Значение параметра не может быть перезаписано процедурой.
- OUT - Параметр не может ссылаться на процедуру, но значение параметра может быть перезаписано процедурой.
- IN OUT - Параметр может ссылаться на процедуру, и значение параметра может быть перезаписано процедурой.
declaration_section - место в процедуре, где вы объявляете локальные переменные.
executable_section - место в процедуре, в котором вы создаете код процедуры.
Пример
Рассмотрим пример, как создать процедуру в MySQL:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
DELIMITER // CREATE procedure CalcIncome ( OUT ending_value INT ) BEGIN DECLARE income INT; SET income = 50; label1: WHILE income <= 3000 DO SET income = income * 2; END WHILE label1; SET ending_value = income; END; // DELIMITER ; |
Затем вы можете ссылаться на свою новую процедуру следующим образом:
1 2 3 |
CALL CalcIncome (@var_name); SELECT @var_name; |
УДАЛИТЬ процедуру (DROP procedure)
После того, как вы создали процедуру в MySQL, вам может понадобиться удалить ее из базы данных.
Синтаксис
Синтаксис удаления процедуры в MySQL:
procedure_name - наименование процедуры, которую вы хотите удалить.
Пример
Рассмотрим пример удаления процедуру в MySQL.
Например:
1 |
DROP procedure CalcIncome; |
Этот пример приведет к удалению процедуры CalcIncome.