DROP PROCEDURE IF EXISTS `pr_changeGoodsNumber`;
CREATE PROCEDURE `pr_changeGoodsNumber`(a varchar(50),b varchar(50))
BEGIN
    set @goodsid=a;
    set @newnumber=b;
    set @oldnumber=(select number from tb_storagecheck where goodsid=@goodsid);
    UPDATE tb_storagecheck set number=@oldnumber+@newnumber where goodsid=@goodsid;
    END;
#
# Source for procedure pr_getAllCustomer
#DROP PROCEDURE IF EXISTS `pr_getAllCustomer`;
CREATE PROCEDURE `pr_getAllCustomer`()
BEGIN
     select * from tb_customer where available!=0;
    END;
#
# Source for procedure pr_getAllGoods
#DROP PROCEDURE IF EXISTS `pr_getAllGoods`;
CREATE PROCEDURE `pr_getAllGoods`()
BEGIN
     select * from tb_goods where available!=0;
    END;在导入时,存储过程没有导进去,报错了,朋友告诉我是mysql的版本问题,低版本到高版本会失败,求高手帮忙解决

解决方案 »

  1.   

    我直接在查询分析起里创建也报错,就上面那个语句
    CREATE PROCEDURE `pr_changeGoodsNumber`(a varchar(50),b varchar(50))
    BEGIN
        set @goodsid=a;
        set @newnumber=b;
        set @oldnumber=(select number from tb_storagecheck where goodsid=@goodsid);
        UPDATE tb_storagecheck set number=@oldnumber+@newnumber where goodsid=@goodsid;
    END;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 'end' at line 1
      

  2.   

    没加delimiter //吧。如下,一切正常。
    mysql> DROP PROCEDURE IF EXISTS `pr_changeGoodsNumber`;
    Query OK, 0 rows affected, 1 warning (0.16 sec)mysql>
    mysql> delimiter //
    mysql> CREATE PROCEDURE `pr_changeGoodsNumber`(a varchar(50),b varchar(50))
        -> BEGIN
        ->    set @goodsid=a;
        ->    set @newnumber=b;
        ->    set @oldnumber=(select number from tb_storagecheck where goodsid=@good
    sid);
        ->    UPDATE tb_storagecheck set number=@oldnumber+@newnumber where goodsid=
    @goodsid;
        ->    END;
        -> //
    Query OK, 0 rows affected (0.03 sec)mysql> delimiter ;
    mysql>
      

  3.   

    我直接在查询分析起里创建也报错,就上面那个语句
    MYSQL没有查询分析器这个东西吧,这是MSSQL的东西。。你把代码贴到MYSQL-FRONT里执行,就不报错了。
      

  4.   

    我用navicat里直接粘进去不报错
      

  5.   

    回4楼,我用的是MySQL GUI Tools 5.0
    现在问题解决了,直接导入要向3楼那样加delimiter....,不然只能点MySQL GUI Tools的创建存储过程手动创建了..
    谢谢大家