Не все процедуры создаются - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день народ. Такая проблема пытаюсь создать процедуру:
Листинг программы
  1. CREATE
  2. PROCEDURE `proc_test4` ( OUT `id` INT )
  3. NOT DETERMINISTIC
  4. NO SQL
  5. SQL SECURITY DEFINER
  6. BEGIN
  7. IF 1 = 1
  8. THEN id = 1;
  9. END IF;
  10. END;
Получаю: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '= 1' at line 8 Через интерфейс PHP Admin тоже не выходит. Главное процедуру пустую или с одним селектом создаёт, а если ставлю бегин или просто даже IF то ругается. Версия БД 5.1.71-rel14.9. Заранее благодарен.

Решение задачи: «Не все процедуры создаются»

textual
Листинг программы
  1. delimiter $$
  2. CREATE  
  3. PROCEDURE  `proc_test4` ( OUT `id` INT )
  4. NOT DETERMINISTIC
  5. NO SQL
  6. SQL SECURITY DEFINER
  7. BEGIN
  8. IF 1 = 1
  9. THEN id = 1;
  10. END IF;
  11. END$$

Объяснение кода листинга программы

  1. Устанавливаем делемитор для обозначения начала и конца блока кода
  2. Создаем процедуру с именем proc_test4
  3. Указываем, что процедура будет возвращать значение типа INT
  4. Устанавливаем параметры NOT DETERMINISTIC, NO SQL, SQL SECURITY DEFINER
  5. Задаем условие IF 1 = 1
  6. Если условие истинно, то присваиваем переменной id значение 1
  7. Закрываем блок кода в соответствии с установленным делемитором

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы