Как создать процедуру в mysql?

Пользователь

от eudora , в категории: SQL , 2 года назад

Как создать процедуру в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от clifford , год назад

@eudora 

Чтобы создать процедуру в MySQL, необходимо использовать оператор CREATE PROCEDURE. Вот пример создания процедуры, которая возвращает список всех таблиц в базе данных:

1
2
3
4
CREATE PROCEDURE GetTables()
BEGIN
  SELECT table_name FROM information_schema.tables WHERE table_schema = DATABASE();
END


Чтобы вызвать эту процедуру, нужно использовать оператор CALL:

1
CALL GetTables();


Пожалуйста, обратите внимание, что процедура не может использовать оператор SELECT для возврата данных, если это не вложенная функция. Вместо этого нужно использовать оператор SELECT ... INTO для возврата результата в переменную. Например:

1
2
3
4
5
CREATE PROCEDURE GetTableCount()
BEGIN
  SELECT COUNT(*) INTO @table_count FROM information_schema.tables WHERE table_schema = DATABASE();
  SELECT @table_count AS table_count;
END


В этом случае процедура GetTableCount вернет количество таблиц в текущей базе данных.


Более подробную информацию о создании процедур в MySQL можно найти

Пользователь

от buster , год назад

@eudora 

Для создания процедуры в MySQL, вы можете использовать следующий синтаксис:

1
2
3
4
5
6
DELIMITER $$
CREATE PROCEDURE procedure_name (IN parameter1 datatype, IN parameter2 datatype, ...)
BEGIN
   -- procedure body
END$$
DELIMITER ;


  • procedure_name - имя процедуры, которое вы хотите создать.
  • parameter1, parameter2, ... - параметры, которые вы хотите передать в процедуру.
  • datatype - тип данных параметров.
  • -- procedure body - код, который вы хотите выполнить внутри процедуры.