0
DELIMITER //
CREATE PROCEDURE compare (x INT, y INT) RETURNS INT
BEGIN
DECLARE test INT;
IF x > y
THEN SET test = 1;
ELSEIF y > x
THEN SET test = -1;
ELSE SET test = 0;
END IF;
RETURN test;
END
//
Может ли кто-нибудь показать, что здесь ошибка? PhpMyAdmin говоритВыясните синтаксическую ошибку в этой Хранимой процедуре
#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 'INT BEGIN DECLARE test INT; IF x > y THEN SET test = 1; ELSEIF y >' at line 1
Спасибо, человек с пучком – Naresh
@Lukman. RE: процедуры ничего не могут вернуть, только функции могут ... С MySQL хранимыми процедурами это не совсем так. В MySQL вы можете объявлять как параметры IN, так и OUT в заявлении о заявлении хранимой процедуры. – Jason
@Jason: Параметры OUT не совпадают с RETURN. Они совершенно разные. Вы можете использовать функции в инструкции SELECT именно потому, что они могут «возвращаться». OTOH, даже если вы используете параметры OUT, вы все равно не можете поместить proc в инструкцию SELECT. – Lukman