帮我看下mysql 触发器出现的问题吧~!谢谢.

[复制链接]
查看11 | 回复3 | 2011-4-21 15:19:08 | 显示全部楼层 |阅读模式
DELIMITER $$
CREATE

TRIGGER `abc`.`volumecheck` BEFORE INSERT

ON `abc`.`shipment`

FOR EACH ROW


BEGIN


DECLARE vVOL,vTRUCK_VOL DECIMAL(10,2);

SELECT SUM(volume) INTO vVOL
FROM shipment
WHERE trip_num=:NEW .trip_num;
SELECT vol_capacity INTO vTRUCK_VOL
FROM trip p, truck k
WHERE p.truck_num=k.truck_num AND p.trip_num=:NEW .trip_num;
IF (vVOL+:new.volume)>vTRUCK_VOL THEN
;
END IF;

END$$
DELIMITER ;
以下报错
Query : CREATE
TRIGGER `abc`.`volumecheck` BEFORE INSERT
ON `abc`.`shipment`
FOR EACH ROW
BEGIN
DECLARE vVOL,vTRU...
Error Code : 1064
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 ':new .trip_num;
SELECT vol_capacity into vTRUCK_VOL
FROM trip p, truck k
WHERE p' at line 12

回复

使用道具 举报

千问 | 2011-4-21 15:19:08 | 显示全部楼层
:NEW .trip_num; 去掉这里的冒号~不需要冒号~
回复

使用道具 举报

千问 | 2011-4-21 15:19:08 | 显示全部楼层
翻译成中文 哥帮帮看看 我读懂了在帮你
回复

使用道具 举报

千问 | 2011-4-21 15:19:08 | 显示全部楼层
怎么全是英文啊,一个都不懂,怎么看呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行