Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从oracle trigger发送电子邮件-如果发生任何DML_Sql_Oracle - Fatal编程技术网

Sql 从oracle trigger发送电子邮件-如果发生任何DML

Sql 从oracle trigger发送电子邮件-如果发生任何DML,sql,oracle,Sql,Oracle,我有一张表叫做TEST_table。如果此表中发生任何更改(如插入、更新、删除和删除),我需要收到电子邮件警报 我认为通过使用DB触发器,我们可以得到警报 那么,有谁能帮我写一下如何使用这些更改编写oracle触发器吗?实际上,我会质疑这个要求 触发器是执行“非事务性”操作(如发送邮件或创建“文本”文件)的一种不好的方式,原因是如果事务语句中出现异常,触发器可能已经触发了 开始 插入表格选择1/0,“你好,我是新的”; --触发器触发并发送邮件,虽然他插入失败。 提交;/——我们永远到不了这里/

我有一张表叫做TEST_table。如果此表中发生任何更改(如插入、更新、删除和删除),我需要收到电子邮件警报

我认为通过使用DB触发器,我们可以得到警报


那么,有谁能帮我写一下如何使用这些更改编写oracle触发器吗?

实际上,我会质疑这个要求

触发器是执行“非事务性”操作(如发送邮件或创建“文本”文件)的一种不好的方式,原因是如果事务语句中出现异常,触发器可能已经触发了

开始 插入表格选择1/0,“你好,我是新的”; --触发器触发并发送邮件,虽然他插入失败。 提交;/——我们永远到不了这里/ 结束

您可以选择创建一个dbms_作业,并让触发器在触发器主体中调用此作业

区别在于:dbms_作业只有在成功提交时才会被提交

看到一个关于这个问题的极好的讨论


事实上,我会质疑这个要求

触发器是执行“非事务性”操作(如发送邮件或创建“文本”文件)的一种不好的方式,原因是如果事务语句中出现异常,触发器可能已经触发了

开始 插入表格选择1/0,“你好,我是新的”; --触发器触发并发送邮件,虽然他插入失败。 提交;/——我们永远到不了这里/ 结束

您可以选择创建一个dbms_作业,并让触发器在触发器主体中调用此作业

区别在于:dbms_作业只有在成功提交时才会被提交

看到一个关于这个问题的极好的讨论


请展示您尝试过的一些研究或代码。这可能是一个系统事件,而不是DML命令。您要查找的是Oracle内置包UTL_MAIL。请展示一些您尝试过的研究或代码。这可能是一个系统事件,而不是DML命令。您要查找的是Oracle内置包UTL_MAIL。