Процедуры MySQL выполняют операции над результатами запросов. Процедура активизируется при наличии в конце инструкции SELECT ключевого слова PROCEDURE. В настоящий момент в MySQL входит единственная процедура analyse(). Разрешается создавать собственные процедуры, включая их в программу на этапе компиляции.
Процедуры появились в MySQL версии 3.21, но пока что не вызвали особого энтузиазма. Писать их оказалось слишком сложно для большинства пользователей. Например, для создания процедуры на C++ требуется определить класс, производный от класса Procedure. Код последнего находится в файлах sql procedure.h и sql procedure c.c. Процедура analyse реализована в файле sql/sql_analyse_c.c.
С другой стороны можно воспользоваться библиотекой mylua (www.fastflow.it/mylua) которая позволяет динамически загружать процедуры, написанные на языке LUA (www.lua.org). Для запуска сценария LUA в MySQL нужно вызвать функцию LUA() указав ей имя исходного файла, где содержится определение процедуры.