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的版本问题,低版本到高版本会失败,求高手帮忙解决
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的版本问题,低版本到高版本会失败,求高手帮忙解决
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
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>
MYSQL没有查询分析器这个东西吧,这是MSSQL的东西。。你把代码贴到MYSQL-FRONT里执行,就不报错了。
现在问题解决了,直接导入要向3楼那样加delimiter....,不然只能点MySQL GUI Tools的创建存储过程手动创建了..
谢谢大家