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と同じではありません。彼らは全く異なっている。関数は、 'return'することができるので、SELECT文で正確に使用することができます。 OTOHでは、OUTパラメータを使用していても、SELECT文にストアprocを置くことはできません。 @ Lukman。 – Lukman