在Mysql中,如何在触发器中捕获当前执行的SQL语句?

在Mysql中,如何在触发器中捕获当前执行的SQL语句?比如insert、update的语句。

目测语法是 Oracle 数据库的语法。

那么, 如果这个where aptitude.companyid=com_base.id;条件获得上面执行的com_base.id怎么获取啊?

可以通过 :old.id 或者 :new.id 来获取。

例如:

SQL> CREATE OR REPLACE TRIGGER BeforeUpdateTest
2 BEFORE UPDATE ON test_trigger_table
3 FOR EACH ROW
4 BEGIN
5 dbms_output.put_line('BEFORE UPDATE');
6 dbms_output.put_line('Old Name = ' || :old.name);
7 dbms_output.put_line('New Name = ' || :new.name);
8 END;
9 /

Trigger created.
SQL>
SQL> UPDATE test_trigger_table SET name = 'XYZ' WHERE id = 1;
BEFORE UPDATE
Old Name = ABC
New Name = XYZ
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

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