GBASE南大通用数据库分享-Select触发器

当 CREATE TRIGGER 语句将指定表上的任何查询定义为其触发事件( SELECT ON table 或 SELECT ON column-list ON table )时,生成的触发对象是指定表的 Select 触发器。同一触发器还可以被包含将此表作为其 基本表的触发列的视图上的查询激活。但是,SELECT 语句不能是视图上 INSTEAD OF 触 发器的触发事件。

如果 CREATE TRIGGER 语句在嵌入 Select 触发事件的定义中也包含列列表,并且指定 表上后续查询的投影列表不包含任何指定的列,那么该查询不能是此 Select 触发器的触发 事件。 

警告:

Select 触发器不建议用于审计。不要出于执行应用程序指定审计的目的而在表或其列的子 集上尝试创建 Select 触发器。一般情况下,通过创建 Select 触发器来跟踪表上的 Select 动作的数量,以在每次用户查询某个表时将审计记录插入到审计表中是不可能的。

例如,假设您在表 AuditedTable 上定义了 Select 触发器,且对 AuditedTable 持有 Select 特 权的用户发出了以下查询: 

SELECT a.* FROM (SELECT * FROM AuditedTable) AS a; 

数据库服务器不发出错误,但是 AuditedTable 上的 SELECT 触发器不会被此查询激活。包 含集合运算符(例如 UNION 或 INTERSECT)的查询,或者其它 Select 触发器不支持的 语法,将会被基于 Select 触发器的审计记录策略无视。 

因为执行 Select 触发器的大量的限制(部分在本章中列出),生成的 Select 触发操作通 常仅对应于试图枚举的任何逻辑 Select 事件的子集(它可能为空)。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值