插入触发器后更新同一表

英格兰埃贾兹

我正在开发一种产品,当有人等待送达超过15分钟时,我必须向相关人员发送SMS。

为此,我编写了一个监视表并CUST_ID, CUST_CATEGORY, DURATIONDuration超过15时将其存储在单独的表中的过程。该表的表结构为:

Some_Table

CUST_ID CUST_CATEGORY DURATION SMS_STATUS

我写了一个触发器为:

扳机

create or replace trigger kiosk_sms_trg 
after insert on Some_Table 
referencing new as new old as old
for each row
BEGIN 
SMS_Proc@My_Server; --Procudure that generates SMS
update Some_Table set status = 'Y' where id = (select max(id) id  from Some_Table where status = 'N'); --Update Table that SMS has been sent
select 'Y' into :new.status from dual;
END;

但这会导致突变问题。我该如何解决?任何帮助将不胜感激。我正在使用Oracle 11G。

幼儿

我不认为SOME_TABLE上允许更新,因为它目前正在变异。

为什么不将它放在刚触发触发器的INSERT语句之后呢?

INSERT INTO SOME_TABLE ...
update Some_Table set status = 'Y' where id = (select max(id) id  from Some_Table where status = 'N'); --Update Table that SMS has been sent

考虑到您没有在该UPDATE中执行任何特定于行的操作,我认为这将是正确的方法。

正如我在评论中提到的,AFTER INSERT触发器中的最后一条语句是否有特殊用途它在BEFORE INSERT触发器中确实具有意义

select 'Y' into :new.status from dual;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

插入触发器后更新同一表

来自分类Dev

新行插入到同一表后,错误更新触发器

来自分类Dev

同一表上的 Oracle 更新触发器

来自分类Dev

PL/SQL 触发器在更新或插入后更新同一个表

来自分类Dev

触发器在被同一表激发后无法读取该表

来自分类Dev

更新触发器需要引起对同一表和字段的更新

来自分类Dev

使用PostgreSQL自动在同一表上创建触发器以更新另一行

来自分类Dev

插入后触发使用来自另一个表的数据更新同一表

来自分类Dev

使用触发器在另一个表上插入数据后更新表

来自分类Dev

MariaDB和触发器作用于已从中触发的同一表上

来自分类Dev

触发更新同一表中同一行的触发器时,其状态取决于其他列的值

来自分类Dev

插入后创建触发器,以更新另一个表

来自分类Dev

MySQL触发器在更新后将新行插入另一个表

来自分类Dev

在每次使用触发器插入MySQL 5.6中的目标表后,将一列从源表拉至另一表

来自分类Dev

如何在更新表后运行触发器然后在同一个表中运行语句更新

来自分类Dev

在仅更新SQL Server 2008中同一表中的特定列之后,更新触发器中的一列

来自分类Dev

在同一表中发生插入/更新时触发更新特定列

来自分类Dev

PostgreSQL创建触发器,该触发器在表的每次插入或更新时运行一个函数

来自分类Dev

如何创建一个 MySQL 触发器,用于在插入或更新后使用另一个表中字段的数据更新表的总和

来自分类Dev

SQL插入触发器之前-插入另一个表并更新外键

来自分类Dev

MySQL插入触发器到表后,FK到第一个表

来自分类Dev

更新后如何使用触发器将参数中的数据插入表中

来自分类Dev

更新后的MySQL,更新同一表的datetime列

来自分类Dev

请求:更新或插入同一表中的行

来自分类Dev

使用插入后触发器更新另一列

来自分类Dev

根据更新后的触发器插入更改日志

来自分类Dev

PLSQL触发器在插入后更新记录

来自分类Dev

插入更新和删除后的 SQL Server 触发器

来自分类Dev

创建After Insert触发器后无法插入表

Related 相关文章

  1. 1

    插入触发器后更新同一表

  2. 2

    新行插入到同一表后,错误更新触发器

  3. 3

    同一表上的 Oracle 更新触发器

  4. 4

    PL/SQL 触发器在更新或插入后更新同一个表

  5. 5

    触发器在被同一表激发后无法读取该表

  6. 6

    更新触发器需要引起对同一表和字段的更新

  7. 7

    使用PostgreSQL自动在同一表上创建触发器以更新另一行

  8. 8

    插入后触发使用来自另一个表的数据更新同一表

  9. 9

    使用触发器在另一个表上插入数据后更新表

  10. 10

    MariaDB和触发器作用于已从中触发的同一表上

  11. 11

    触发更新同一表中同一行的触发器时,其状态取决于其他列的值

  12. 12

    插入后创建触发器,以更新另一个表

  13. 13

    MySQL触发器在更新后将新行插入另一个表

  14. 14

    在每次使用触发器插入MySQL 5.6中的目标表后,将一列从源表拉至另一表

  15. 15

    如何在更新表后运行触发器然后在同一个表中运行语句更新

  16. 16

    在仅更新SQL Server 2008中同一表中的特定列之后,更新触发器中的一列

  17. 17

    在同一表中发生插入/更新时触发更新特定列

  18. 18

    PostgreSQL创建触发器,该触发器在表的每次插入或更新时运行一个函数

  19. 19

    如何创建一个 MySQL 触发器,用于在插入或更新后使用另一个表中字段的数据更新表的总和

  20. 20

    SQL插入触发器之前-插入另一个表并更新外键

  21. 21

    MySQL插入触发器到表后,FK到第一个表

  22. 22

    更新后如何使用触发器将参数中的数据插入表中

  23. 23

    更新后的MySQL,更新同一表的datetime列

  24. 24

    请求:更新或插入同一表中的行

  25. 25

    使用插入后触发器更新另一列

  26. 26

    根据更新后的触发器插入更改日志

  27. 27

    PLSQL触发器在插入后更新记录

  28. 28

    插入更新和删除后的 SQL Server 触发器

  29. 29

    创建After Insert触发器后无法插入表

热门标签

归档