DROP PROCEDURE IF EXISTS Proc1;
CREATE PROCEDURE Proc1(IN Param1 INTEGER,IN Param2 INTEGER)
BEGIN
CALL Proc2(1);
END;
以上语句运行不正确。错误提示是:
#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 '' at line 3 
我的MySQL版本是5.0.51
客户端使用PHPMyAdmin。
这些语句看上去很基本啊,但为什么总是运行不正确呢。
十分紧急,请高手帮助。

解决方案 »

  1.   

    mysql> delimiter //
    mysql> DROP PROCEDURE IF EXISTS Proc1; 
    mysql> CREATE PROCEDURE Proc1(IN Param1 INTEGER,IN Param2 INTEGER) 
        -> BEGIN 
        -> CALL Proc2(1); 
        -> END; 
    mysql> //注意delimiter的使用,否则mySQL看到你的;就认为结束了。
      

  2.   

    你是在MYSQL的SHELL中输入的?
    DELIMITER $$DROP PROCEDURE IF EXISTS Proc1$$
    CREATE PROCEDURE Proc1(IN Param1 INTEGER,IN Param2 INTEGER)
    BEGIN
    CALL Proc2(1);    END$$DELIMITER ;