暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBae 8s SQL 指南:语法_4. 数据类型和表达式_4.5 条件 (15)

GBASE数据库 2022-04-26
239

触发器类型的布尔运算符
GBase 8s 的触发器类型的布尔运算符可在运行时测试当前正在执行的触发器活动是否是通过 DML
事件的指定的类型触发了的。这些运算符不使用操作对象。
触发器类型的布尔运算符


如果当前正在执行的触发器的触发事件是对应于操作符的名称的 DML 操作,则这些操作符返回
TRUE ('t'),否则它们返回 FALSE ('f')。在 IF 语句中,在 CASE 表达式中,以及在布尔条件为有
效的 SPL 触发器例程内的其他上下文中,这些操作符是有效的。
例如,在下列语句片断中,仅当通过 INSERT 事件激活的当前正在执行的触发器时,才执行第一个
THEN 子句中的 LET 语句,且仅当通过 DELETE 事件激活了该触发器时,才执行第二个 THEN 子句
中的 LET 语句:
IF (INSERTING = 't') THEN
LET square = NEW.X * NEW.X
ELIF (DELETING = 't') THEN
LET square = 0 
仅在表上触发器或(对于 DELETING、INSERTING 和 UPDATING 运算符)在视图上 INSTEAD
OF 触发器的 FOR EACH ROW 触发的活动中调用的触发器 UDR 中,SELECTING、
DELETING、INSERTING 和 UPDATING 运算符才是有效的。如果您尝试在任何其他的上下文中
使用触发器类型的布尔运算符,则发出错误。
如果通过 MERGE 语句已激活了的 Delete、Insert 或 Update 触发器调用触发器例程,则
⚫ 在 MERGE 正在从目标表删除行时,DELETING 返回 TRUE。
⚫ 在 MERGE 正在将行插入到目标表内时,INSERTING 返回 TRUE。
⚫ 在 MERGE 正在更新目标表的行时,UPDATING 返回 TRUE。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论