我在MySQL5.0下创建存贮,怎么老是报语法错误?代码如下:
CREATE PROCEDURE test ()
     BEGIN
       SELECT * FROM T1;
     END;我查了半天也没找到别人有类似情况的,难道大家都没遇到相同的问题吗?

解决方案 »

  1.   

    错误提示是:
    You have an error in your SQL syntax...
      

  2.   

    mysql> delimiter //mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
        -> BEGIN
        ->   SELECT COUNT(*) INTO param1 FROM t;
        -> END;
        -> //
    Query OK, 0 rows affected (0.00 sec)mysql> delimiter ;mysql> CALL simpleproc(@a);
    Query OK, 0 rows affected (0.00 sec)mysql> SELECT @a;
    +------+
    | @a   |
    +------+
    | 3    |
    +------+
    1 row in set (0.00 sec)
      

  3.   

    你是在SHELL方式下吧,如是,先要将结束符修改为非;,
    SP结束后再修改为;。
      

  4.   

    感谢二位,确实是这个问题。另外,由于一开始我是用的Mysql control center,加了delimiter还是报错,
    大概它不能识别存贮过程。后来在命令行下输入,才可以生成存贮过程。