发表日期: 2023-04-04 10:29:51 浏览次数:26
贵阳市南明区油榨街道网站制作、贵阳市南明区中曹司街道小程序制作、贵阳市南明区二戈街道网站优化、贵阳市南明区龙洞堡街道网站开发、贵阳市南明区花果园街道400电话办理、贵阳市南明区小车河街道网络推广、贵阳市南明区五里冲街道网站建设、贵阳市南明区兰花都街道网店装修、贵阳市南明区后巢乡微信公众号开发、贵阳市南明区云关乡网页设计、贵阳市南明区小碧布依族苗族乡网络公司、贵阳市南明区永乐乡域名企业邮箱、贵阳市云岩区黔灵镇服务器空间、贵阳市云岩区水东路街道网站案例报价、贵阳市云岩区渔安街道编辑排版美工、贵阳市云岩区大营路街道App软件开发、贵阳市云岩区黔灵东路街道百度推广、贵阳市云岩区文昌阁街道代运营托管、贵阳市云岩区盐务街街道logo设计、贵阳市云岩区普陀路街道网络全网营销
数字身份、数字账户和数字资产在政务侧显著发展,监管的作用越来越强,实物资产正通过企业数字化变革快速进入到互联网。另一方面,企业在数字化转型过程中也积极推进公共数据资源以及行业数据资源的利用。
数字经济是大势所趋,也对各行各业提出了新的要求。税务领域也不例外。
如国家税务总局王军局长近日讲话中提到的“中国有着世界上最大规模的纳税人缴费人群体,税收征管改革复杂度比较高、涉及面特别广,传统单一的征管模式再难适应发展需要。在近些年的税收征管改革实践中,我们着力突破条块壁垒,促进要素融合增效,不断提升税收征管智能化、集成化、精细化、协同化水平,逐步探索出了一条‘集成化融合’的税收征管现代化之路且越走越宽广。”
CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table_name [ FROM referenced_table_name ] [ NOT DEFERRABLE | [ DEFERRABLE ] [ INITIALLY IMMEDIATE | INITIALLY DEFERRED ] ] [ REFERENCING { { OLD | NEW } TABLE [ AS ] transition_relation_name } [ ... ] ] [ FOR [ EACH ] { ROW | STATEMENT } ] [ WHEN ( condition ) ] EXECUTE PROCEDURE function_name ( arguments )这里的event可以是下列之一: INSERT UPDATE [ OF column_name [, ... ] ] DELETE TRUNCATE
CREATE TRIGGER
创建一个新触发器。该触发器将被关联到指定的表、视图或者外部表并且在某些操作在该表上执行时将执行指定的函数function_name
。
该触发器可以被指定为在一行上尝试该操作之前触发(在约束被检查并且INSERT
、UPDATE
或者DELETE
被尝试之前);也可以在该操作完成之后触发(在约束被检查并且INSERT
、UPDATE
或者DELETE
完成之后);或者取代该操作(在对一个视图插入、更新或删除的情况中)。如果该触发器在事件之前触发或者取代事件,该触发器可以跳过对当前行的操作或者改变正在被插入的行(只对INSERT
以及UPDATE
操作)。如果该触发器在事件之后触发,所有更改(包括其他触发器的效果)对该触发器“可见”。
一个被标记为FOR EACH ROW
的触发器会对该操作修改的每一行都调用一次。例如,一个影响 10 行的DELETE
将导致在目标关系上的任何ON DELETE
触发器被独立调用 10 次,也就是为每一个被删除的行调用一次。与此相反,一个被标记为FOR EACH STATEMENT
的触发器只会为任何给定的操作执行一次,不管该操作修改多少行(特别地,一个修改零行的操作将仍会导致任何可用的FOR EACH STATEMENT
触发器被执行)。
被指定为要触发INSTEAD OF
触发器事件的触发器必须被标记为FOR EACH ROW
,并且只能被定义在视图上。一个视图上的BEFORE
和AFTER
触发器必须被标记为FOR EACH STATEMENT
。
此外,触发器可以被定义成为TRUNCATE
触发,但只能是FOR EACH STATEMENT
。
下面的表格总结了哪些触发器类型可以被用在表、视图和外部表上:
何时 | 事件 | 行级 | 语句级 |
---|---|---|---|
BEFORE | INSERT /UPDATE /DELETE | 表和外部表 | 表、视图和外部表 |
TRUNCATE | — | 表 | |
AFTER | INSERT /UPDATE /DELETE | 表和外部表 | 表、视图和外部表 |
TRUNCATE | — | 表 | |
INSTEAD OF | INSERT /UPDATE /DELETE | 视图 | — |
TRUNCATE | — | — |
还有,一个触发器定义可以指定一个布尔的WHEN
条件,它将被测试来看看该触发器是否应该被触发。在行级触发器中,WHEN
条件可以检查该行的列的新旧值。语句级触发器也可以有WHEN
条件,尽管该特性对于它们不是很有用(因为条件不能引用表中的任何值)。
如果有多个同种触发器被定义为相同事件触发,它们将按照名称的字母表顺序被触发。
当CONSTRAINT
选项被指定,这个命令会创建一个约束触发器。这和一个常规触发器相同,不过触发该触发器的时机可以使用SET CONSTRAINTS调整。约束触发器必须是普通表(不是外部表)上的AFTER ROW
触发器。它们可以在导致触发器事件的语句末尾被引发或者在包含该语句的事务末尾被引发。在后一种情况中,它们被称作是被延迟。一个待处理的延迟触发器的引发也可以使用SET CONSTRAINTS
立即强制发生。当约束触发器实现的约束被违背时,约束触发器应该抛出一个异常。
REFERENCING
选项可以收集转换关系, 它们是包含由当前SQL语句插入、删除或修改的所有行的行集。 此功能可让触发器查看语句所做的操作的全局视图,而不是一次一行。 该选项仅适用于不是约束触发器的AFTER
触发器;另外, 如果触发器是一个UPDATE
触发器,它不能指定一个 column_name
列表。 OLD TABLE
只能指定一次,并且只能用于触发UPDATE
或DELETE
的触发器;它会创建一个包含由语句更新或删除的所有行的 before-images的转换关系。同样,NEW TABLE
只能指定一次, 并且只能针对可以在UPDATE
或INSERT
上触发的触发器; 它会创建一个包含由语句更新或插入的所有行的after-images的转换关系。
SELECT
不修改任何行,因此你无法创建SELECT
触发器。 规则和视图可以为似乎需要SELECT
触发器的问题提供可行的解决方案。
贵阳市南明区油榨街道网站制作、贵阳市南明区中曹司街道小程序制作、贵阳市南明区二戈街道网站优化、贵阳市南明区龙洞堡街道网站开发、贵阳市南明区花果园街道400电话办理、贵阳市南明区小车河街道网络推广、贵阳市南明区五里冲街道网站建设、贵阳市南明区兰花都街道网店装修、贵阳市南明区后巢乡微信公众号开发、贵阳市南明区云关乡网页设计、贵阳市南明区小碧布依族苗族乡网络公司、贵阳市南明区永乐乡域名企业邮箱、贵阳市云岩区黔灵镇服务器空间、贵阳市云岩区水东路街道网站案例报价、贵阳市云岩区渔安街道编辑排版美工、贵阳市云岩区大营路街道App软件开发、贵阳市云岩区黔灵东路街道百度推广、贵阳市云岩区文昌阁街道代运营托管、贵阳市云岩区盐务街街道logo设计、贵阳市云岩区普陀路街道网络全网营销
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878