Mysql 触发器 同时更新多张表

CREATE TRIGGER t_AfterUpdate_on_mst_officecurrency2
AFTER UPDATE ON `mst_officecurrency`
FOR EACH ROW
update `mst_generalsetup` set `CurrencyName`=NEW.OfficeCurrencyName where `CurrencyName`=OLD.OfficeCurrencyName
and
update `mst_office` set `Currency`=NEW.OfficeCurrencyName where `Currency`=OLD.OfficeCurrencyName;

虽然不明白你的问些什么,但里面有几个语法错误我帮你改一下

CREATE TRIGGER t_AfterUpdate_on_mst_officecurrency2
AFTER UPDATE ON `mst_officecurrency`
FOR EACH ROW
begin
update `mst_generalsetup` set `CurrencyName`=NEW.OfficeCurrencyName where `CurrencyName`=OLD.OfficeCurrencyName;
update `mst_office` set `Currency`=NEW.OfficeCurrencyName where `Currency`=OLD.OfficeCurrencyName;
end;追问

我有一个问题就是,我用的是Mysql5.1 ,然后用的是Mysql Query Browser,是不支持begin end的。所以我也不知道为什么不行

追答

Mysql5.1 是支持begin end块的,至于Mysql Query Browser我就没用过了,你或都可以直接使用mysql -h xx.xx.xx.xx -u xxx -p登陆到服务器执行

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-08
CREATE TRIGGER t_AfterUpdate_on_mst_officecurrency2
AFTER UPDATE ON `mst_officecurrency`
FOR EACH ROW
bengin

update `mst_generalsetup` set `CurrencyName`=NEW.OfficeCurrencyName where `CurrencyName`=OLD.OfficeCurrencyName
and
update `mst_office` set `Currency`=NEW.OfficeCurrencyName where `Currency`=OLD.OfficeCurrencyName;
end

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网