这个mysql的触发器错哪了?

LGP88864237 2010-06-01 11:40:07
DELIMITER |
CREATE TRIGGER trg_CheckApplyStock BEFORE UPDATE ON t_ApplyStock
FOR EACH ROW BEGIN
IF UPDATE(F_Check) THEN

IF EXISTS(SELECT top 1 * FROM t_StockOrderDetail a,inserted b WHERE a.F_LinkBill = b.F_BillID) THEN

ROLLBACK TRANSACTION

raiserror('本单已被采购订单引用,不能反审!!',18,18)
END IF;
END IF;
END
|
DELIMITER ;



报的错误


错误码: 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 'UPDATE(F_Check) THEN

IF EXISTS(SELECT top 1 * FROM t_StockOrderDetai' at line 3

Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000
...全文
76 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2010-06-01
  • 打赏
  • 举报
回复
mysql?
帮顶.
GOODlivelife 2010-06-01
  • 打赏
  • 举报
回复
GOODlivelife 2010-06-01
  • 打赏
  • 举报
回复
mysql触发器没有inserted和deleted,只有NEW和OLD,而且它们不是表
hai2003xp 2010-06-01
  • 打赏
  • 举报
回复
既然是update触发器,为什么还用if update()语句


22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧