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

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

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

Добрый день народ. Такая проблема пытаюсь создать процедуру:
CREATE  
PROCEDURE  `proc_test4` ( OUT `id` INT ) 
NOT DETERMINISTIC 
NO SQL 
SQL SECURITY DEFINER
BEGIN
IF 1 = 1 
THEN id = 1;
END IF;
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
Листинг программы
delimiter $$
CREATE  
PROCEDURE  `proc_test4` ( OUT `id` INT ) 
NOT DETERMINISTIC 
NO SQL 
SQL SECURITY DEFINER
BEGIN
IF 1 = 1 
THEN id = 1;
END IF;
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
Похожие ответы