-2
テーブルは以下のように定義されました: MysqlでSQLステートメント 'declare'を実行した後にエラーが返されるのはなぜですか?
私は「宣言」を使用して変数を宣言しようとしたが、それは常にruturnエラーと私は理由を知りません。
コード:
mysql> DELEMITER //
mysql> CREATE PROCEDURE emp_age_count(IN age1 int,IN age2 int,OUT count INT)
-> BEGIN
-> DECLARE temp FLOAT;
-> DECLARE emp_age CURSOR FOR SELECT empage FROM emp;
-> DECLARE EXIT HANDLER FOR NOT FOUND
-> CLOSE emp_age;
-> SET @sum=0;
-> SELECT COUNT(*) INTO count FROM emp
-> WHERE empage>age1 AND empage<age2;
-> OPEN emp_age;
-> REPEAT
-> FETCH emp_age INTO temp;
-> IF temp>age1 AND temp<age2;
-> THEN SET @[email protected]+temp;
-> END IF;
-> UNTIL 0 END REPEAT;
-> CLOSE emp_age;
-> END//
ERROR 1064 (42000): 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 ';
THEN SET @[email protected]+temp;
END IF;
UNTIL 0 END REPEAT;
CLOSE emp_age;
END' at line 13
エラーの終わりを示します。最初の 'if'行の最後に'; 'を使用しています –
' DELEMITER '?この実際のコードですか? –