Задавайте вопросы, мы ответим
Вы не зашли.
Простейший запрос
DROP PROCEDURE IF EXISTS proc;
CREATE PROCEDURE proc()
BEGIN
SELECT a FROM B;
END;
Выдает:
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 'SELECT a FROM B;'
in line 3
Версия Mysql 5.0.18
Отредактированно mx2010 (01.03.2011 19:46:36)
Неактивен
DELIMITER не забывайте менять, иначе запрос заканчивается на первой точке
с запятой, а не на той, которая после END.
Неактивен
DELIMITER //
CREATE FUNCTION SimpleCompare(n INT, m INT)
RETURNS VARCHAR(20)
BEGIN
DECLARE s VARCHAR(20);
IF n > m THEN SET s = '>';
ELSEIF n = m THEN SET s = '=';
ELSE SET s = '<';
END IF;
SET s = CONCAT(n, ' ', s, ' ', m);
RETURN s;
END //
DELIMITER ;
Отредактированно mx2010 (01.03.2011 20:42:53)
Неактивен
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 'DELIMITER //
CREATE FUNCTION SimpleCompare(n INT, m INT)
RETURNS VARCHAR(2' at line 1
Неактивен
А вот это надо вставлять уже в нормальном клиенте. Например, mysql.
Неактивен
Это взято из mysql для версии 5.0
mysql.com
или тут ключевое слово сервер??
Отредактированно mx2010 (01.03.2011 21:12:29)
Неактивен
Последнего сообщения не понял вообще Вот как это делается в стандартном
клиенте mysql:
mysql> DELIMITER ;; mysql> CREATE PROCEDURE proc() -> BEGIN -> SELECT a FROM B; -> END;; Query OK, 0 rows affected (0.00 sec)
Неактивен