我需要帮助将此MS SQL更新触发器转换为MySQL。我的问题是转换MS SQL UPDATE() function,它标识了已更新的特定列:
ALTER TRIGGER [dbo].[tran_upd_action] ON [dbo].[tran_action]
FOR UPDATE AS
BEGIN
IF @@ROWCOUNT>0
BEGIN
IF update(column1) OR update(column2)
BEGIN
INSERT into tran_indexerqueue
(trankey, trkey2, tranname) SELECT tran_actionid, 0, 'tranaction' from inserted
END
END
END
答案 0 :(得分:0)
这没有rowcount检查,但基本的触发器语法将是这样的。请注意,只有超级用户角色才能创建触发器。此外,您必须首先更改分隔符,这通常是MSSQL DBA的一个重要问题。
DELIMITER $$
CREATE TRIGGER `tran_upd_action` AFTER UPDATE ON `tran_action` FOR EACH ROW BEGIN
INSERT INTO tran_indexerqueue
(trankey, trkey2, tranname)
VALUES(OLD.trankey, OLD.trkey2, OLD.tranname);
END $$
DELIMITER ;