3

この MS SQL 更新トリガーを MySQL に変換するのに助けが必要です。私の問題は、更新された特定の列を識別するMS SQL UPDATE() 関数を変換することです。

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
4

1 に答える 1

0

これには行数チェックはありませんが、基本的なトリガー構文は次のようになります。スーパー ユーザー ロールのみがトリガーを作成できることに注意してください。また、最初に区切り文字を変更する必要がありますが、これは通常、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 ;
于 2013-05-21T09:47:04.540 に答える