各位大虾,我的mysql版本是:5.0.18-log
为什么我在过程体内用decalre声明变量会出错?
代码:
mysql> CREATE PROCEDURE p12 (IN parameter1 INT)
-> BEGIN
-> DECLARE variable1 INT
-> SET variable1 = parameter1 + 1
-> IF variable1 = 0 THEN
-> INSERT INTO t VALUES (17)
-> END IF
-> IF parameter1 = 0 THEN
-> UPDATE t SET s1 = s1 + 1
-> ELSE
-> UPDATE t SET s1 = s1 + 2
-> END IF
-> 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 'INT
SET variable1 = parameter1 + 1
IF variable1 = 0 THEN
INSERT INTO t VALUES (1' at line 3
为什么我在过程体内用decalre声明变量会出错?
代码:
mysql> CREATE PROCEDURE p12 (IN parameter1 INT)
-> BEGIN
-> DECLARE variable1 INT
-> SET variable1 = parameter1 + 1
-> IF variable1 = 0 THEN
-> INSERT INTO t VALUES (17)
-> END IF
-> IF parameter1 = 0 THEN
-> UPDATE t SET s1 = s1 + 1
-> ELSE
-> UPDATE t SET s1 = s1 + 2
-> END IF
-> 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 'INT
SET variable1 = parameter1 + 1
IF variable1 = 0 THEN
INSERT INTO t VALUES (1' at line 3
Database changed
mysql> delimiter ||
mysql> create procedure p12 (IN parameter1 int)
-> begin
-> declare variable1 int;
-> set variable1=parameter1 + 1;
-> if variable1 = 0 then
-> insert into t values(17);
-> end if;
-> if parameter1 = 0 then
-> update t set s1=s1+1;
-> else
-> update t set s1=s1+2;
-> end if;
-> end||
Query OK, 0 rows affected (0.25 sec)mysql> delimiter ;
mysql>