刚学mysql的存储过程,在mysql控制台写语句时,不知道什么时候需要加分号,下面的语句在执行过程中,会报错,请大侠们帮忙看看。
mysql>create procedure p10()
    ->begin
    ->declare v int
    ->set v=0
    ->while v<10 do
    ->insert into t value(v)
    ->set v=v+1  
    ->end while
    ->end;

解决方案 »

  1.   

    什么时候都要加分号,最后不用分号 :D可以去搜索一下 delimiter 的用法,有需要可以找一个现成的示例来照着写,一次就会了。
      

  2.   

    delimiter $$
    输入你的语句
    delimiter ;
    mysql>delimiter $$
    mysql>create procedure p10()
       ->begin
       ->declare v int
       ->set v=0
       ->while v<10 do
       ->insert into t value(v) 
       ->set v=v+1   
       ->end while
       ->end;$$
    mysql>delimiter ;
      

  3.   

    mysql>delimiter $$
    mysql> create procedure p10()
        ->    begin
        ->    declare v int;
        ->    set v=0;
        ->    while v<10 do
        ->    insert into t value(v)  ;
        ->    set v=v+1   ;
        ->    end while;
        ->    end;$$
    Query OK, 0 rows affected (0.09 sec)mysql> mysql>delimiter ;
      

  4.   

    mysql> create procedure p10()
        ->    begin
        ->    declare v int;
        ->    set v=0;
        ->    while v<10 do
        ->    insert into t value(v)  ;
        ->    set v=v+1   ;
        ->    end while;
        ->    end;$$
    Query OK, 0 rows affected (0.00 sec)mysql> delimiter ;
    mysql>
      

  5.   

    建议楼主可以先看一下MYSQL手册中的例子。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html