Хранимые процедуры и функции
Перенесите переиспользуемую логику в базу данных и точно знайте, когда это окупается.
Главная идея: Хранимая подпрограмма - это именованный блок SQL, сохранённый внутри базы данных и выполняемый по запросу. Процедура вызывается через
CALL и выполняет действия (может возвращать наборы строк и выходные параметры); функция возвращает одно значение и может использоваться внутри выражения, например в списке SELECT или в условии WHERE. Обе позволяют собрать параметры, локальные переменные и поток управления (IF, CASE, циклы) рядом с данными, которые они затрагивают.
К концу этой темы вы сможете:
- писать
CREATE PROCEDUREиCREATE FUNCTIONи справляться с подвохомDELIMITERв MySQL, - правильно использовать параметры
IN,OUTиINOUT, - объявлять локальные переменные и присваивать им значения через
SETиSELECT ... INTO, - управлять логикой через
IF,CASEи конструкцииWHILE/REPEAT/LOOP, - выбирать между процедурой и функцией и оценивать, когда логика на стороне сервера помогает, а когда вредит.