Введення в збережені функції mysql 5

Збережені процедури MySQL (частина 2)

У цій частині статті допишемо розпочату в попередній статті збережену процедуру і навчимося створювати збережені mysql функції.

І так нам залишилося вказати значення для останньої змінної PostID. Як значення їй буде присвоєно результат, який поверне функція GetPostID, яку зараз і створимо.

створення функції

Для початку закриваємо поточну форму створення процедури, натиснувши на кнопку c написом Go. Потім в цьому ж вікні знову натискаємо на напис Add routine, з'явиться знайома форма, заповнимо її.

Так само можна вказати додаткові параметри:

Is deterministic - детермінована функція завжди повертає один і той же результат при однакових вхідних параметрах інакше вона є не детермінованою. У нашому випадку ставимо галочку.

Definer і Security type параметри безпеки, в даному прикладі залишимо їх без змін.

SQL data access має кілька значень:

NO SQL - не містить sql.

Contains SQL - містить вбудовані sql функції оператора, які не читають, не пишуть і не змінюють дані в базі даних. Наприклад, установка значення змінної: SET name = значення;

READS SQL DATA - тільки читання даних, без будь-якої модифікації даних, вказується для запиту SELECT.

MODIFIES SQL DATA - зміна або внесення даних, в базу даних, вказується для запитів: INSERT, UPDATE, але при цьому не повинен бути присутнім запит SELECT.

В нашій функції використовується запит SELECT, вкажемо READS SQL DATA.

Після того як всі поля заповнені, натискаємо на кнопку з написом Go.

Введення в збережені функції mysql 5

Повертаємося на вкладку Routines і відредагуємо нашу процедуру, натиснувши на кнопку edit.

Дамо зміною PostID як значення результат, який поверне функція GetPostID.

Виклик процедури, що

Введення в збережені функції mysql 5

Повертаємося на вкладку Routines і натискаємо на напис Execute

Введення в збережені функції mysql 5

Введення в збережені функції mysql 5

Якщо помилок немає, то відкриваємо сторінку і дивимося на результат.

Введення в збережені функції mysql 5

Введення в збережені функції mysql 5

Другий спосіб виконати процедуру на сервері.

Відкриваємо вкладку SQL

Введення в збережені функції mysql 5

За допомогою оператора CALL виробляємо виклик нашої процедури

Введення в збережені функції mysql 5

Введення в збережені функції mysql 5

Введення в збережені функції mysql 5