- 论坛徽章:
- 0
|
本帖最后由 xiaozhenggang 于 2011-11-21 16:54 编辑
发现在终端直接输入可以正常执行
mysql> DELIMITER //
mysql> CREATE DEFINER=`root`@`localhost` PROCEDURE `xxxx`()
BEGIN
-> UPDATE spkcb SET ck_id= IFNULL((SELECT cangku.id FROM cangku WHERE cangku.ck dm=spkcb.ckdm),-1);
-> DELIMITER ; UPDATE spkcb SET goods_id= IFNULL((SELECT goods.goods_id FROM good s WHERE goods.goods_sn=spkcb.goods_sn),-1);
-> UPDATE spkcb SET color_id = IFNULL((SELECT goods_color.color_id FROM goods_co lor,color WHERE goods_color.color_id=color.color_id AND goods_color.goods_id=spkcb.goods _id AND color.color_code=spkcb.color_code),-1);
-> UPDATE spkcb SET size_id = IFNULL((SELECT goods_size.size_id FROM goods_size, size WHERE goods_size.size_id=size.size_id AND goods_size.goods_id=spkcb.goods_id AND si ze.size_code=spkcb.size_code),-1);
-> DELETE FROM spkcb WHERE ck_id=-1 OR goods_id=-1 OR color_id=-1 OR size_id=-1;
-> SELECT 1 AS MID;
-> END
-> //
Query OK, 0 rows affected (0.22 sec)
mysql> DELIMITER ;
mysql> show create procedure xxxx\G;
*************************** 1. row ***************************
Procedure: xxxx
sql_mode:
Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `xxxx`()
BEGIN
UPDATE spkcb SET ck_id= IFNULL((SELECT cangku.id FROM cangku WHERE cangku.ckdm=spkc b.ckdm),-1);
UPDATE spkcb SET goods_id= IFNULL((SELECT goods.goods_id FROM goods WHERE goods.goo ds_sn=spkcb.goods_sn),-1);
UPDATE spkcb SET color_id = IFNULL((SELECT goods_color.color_id FROM goods_color,col or WHERE goods_color.color_id=color.color_id AND goods_color.goods_id=spkcb.goods_id AND color.color_code=spkcb.color_code),-1);
UPDATE spkcb SET size_id = IFNULL((SELECT goods_size.size_id FROM goods_size,size W HERE goods_size.size_id=size.size_id AND goods_size.goods_id=spkcb.goods_id AND size.size _code=spkcb.size_code),-1);
DELETE FROM spkcb WHERE ck_id=-1 OR goods_id=-1 OR color_id=-1 OR size_id=-1;
SELECT 1 AS MID;
END
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_general_ci
1 row in set (0.00 sec)
这是为什么? |
|