![]() |
1
4
是的,这是正常的行为。可以避免,但这样做需要有3个触发器:
听起来像是杀戮过度?也许是:用你的扳机能达到什么目的? |
![]() |
2
3
This is the normal behaviour, Oracle is expecting to insert row so it fires both BEFORE INSERT and AFTER INSERT triggers, even if no row is inserted. One of the purpose of the AFTER triggers is to do some action after a statement succeeds. This statement succeeded :) 您可以计算受包变量影响的行数:
如果计数器大于0,则执行插入后逻辑 |
![]() |
3
0
行触发器 A row trigger is fired each time the table is affected by the triggering statement. For example, if an UPDATE statement updates multiple rows of a table, a row trigger is fired once for each row affected by the UPDATE statement. If a triggering statement affects no rows, a row trigger is not run. https://docs.oracle.com/cd/B19306_01/server.102/b14220/triggers.htm |
![]() |
Saijo-Shi · PLpgsql中的更新触发器 10 月前 |
|
user26814368 · Oracle在触发器中过滤错误数据 10 月前 |
![]() |
robertspierre · 在多对多关系中自动删除未引用的行 1 年前 |
![]() |
Martin · 由于活动触发器,无法登录到SQL Server 1 年前 |
![]() |
gonzalo2000 · 脚本在手动运行时有效,但触发器不起作用 1 年前 |
![]() |
yessoos · 在触发的处理程序中使用类属性 1 年前 |