Informix的触发器的使用

触发器的大组件:
     触发器事件 定义激活触发器的事件。触发器事件包括INSERT、UPDATE与DELETE
     定时条件   定义触发器何时执行。它可以在触发器事件执行之前(BEFORE)执行,也可以在触发器事件执行之后(AFTER)执行或在触发器事件执行过程中(FOR EACH ROW)执行。
     触发器操作 定义激活触发器时执行的SQL语句,包括INSERT,DELETE,UPDATE与EXECUTE PROCEDURE
INSERT触发器的语法如下:
        CREATE TRIGGER trigger_name INSERT ON table_name
          BEFORE [WHEN (condition)] (trig_action1,trig_action2,...)|
          FOR EACH ROW [WHEN (condition)] (trig_action1,trig_action2,...)|
          AFTER [WHEN (condition)] (trig_action1,trig_action2,...)|
        [DISABLED|ENABLED]
or
        CREATE TRIGGER trigger_name INSERT ON table_name
          REFERENCING NEW AS correlation_name
          FOR EACH ROW [WHEN (condition)] (trig_action1,trig_action2,...)
          [BEFORE [WHEN (conditon)](trig_action3,trig_action4,...)]|
          [AFTER [WHEN (conditon)] (trig_action3,trig_action4,...)]
        [DISABLED|ENABLED]
DELET触发器的语法如下:
        CREATE TRIGGER trigger_name DELETE ON table_name
          BEFORE [WHEN (condition)] (trig_action1,trig_action2,...)|
          FOR EACH ROW [WHEN (condition)] (trig_action1,trig_action2,...)|
          AFTER [WHEN (condition)] (trig_action1,trig_action2,...)|
        [DISABLED|ENABLED]
or
        CREATE TRIGGER trigger_name DELETE ON table_name
          REFERENCING NEW AS correlation_name
          FOR EACH ROW [WHEN (condition)] (trig_action1,trig_action2,...)
          [BEFORE [WHEN (conditon)](trig_action3,trig_action4,...)]|
          [AFTER [WHEN (conditon)] (trig_action3,trig_action4,...)]
        [DISABLED|ENABLED]
UPDATE触发器的语法如下:
        CREATE TRIGGER trigger_name UPDATE [OF (column,column,...)] ON table_name
          BEFORE [WHEN (condition)] (trig_action1,trig_action2,...)|
          FOR EACH ROW [WHEN (condition)] (trig_action1,trig_action2,...)|
          AFTER [WHEN (condition)] (trig_action1,trig_action2,...)|
        [DISABLED|ENABLED]
  or
        CREATE TRIGGER trigger_name UPDATE [OF (column,column,...)] ON table_name
          REFERENCING NEW AS correlation_name OLD AS correlation_name
          FOR EACH ROW [WHEN (condition)] (trig_action1,trig_action2,...)
          [BEFORE [WHEN (conditon)](trig_action3,trig_action4,...)]|
          [AFTER [WHEN (conditon)] (trig_action3,trig_action4,...)]
        [DISABLED|ENABLED]     
要了解触发器的语法,就要将其分解如下:
        CREATE TRIGGER 生成触发器对象所需的语句。
        trigger_name  用户定义的触发器名,在数据库中唯一,不超过18个字符,以字母开始。
 
      INSERT是一个触发器事件,表中插入行时触发器被激活,一个表只有一个INSERT触发器,
      DELETE是一个触发器事件,表中删除行时触发器被激活,一个表只有一个DELETE触发器。
      UPDATE是一个触发器事件,表中根性列时触发器被激活,如果包括列清单,则更新列清单中的列时触发器被激活。否则更形表中任何列时触发器被激活,一个表可以有多个UPDATE触发器。但是列清单要相互排斥。
      ENABLED指定启动触发器,即执行触发器事件时即激活触发器。这是生成触发器时的默认值。
      DISABLED指定生成但关闭触发器,即执行触发器事件时不激活触发器。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Zabbix中监控Informix数据库,你可以按照以下步骤进行操作: 1. 确保你已经完成了Zabbix的部署和配置,并且能够成功监控其他资源。如果还没有完成,你可以按照[2]中提供的指导完成Zabbix的部署。 2. 进入Zabbix服务器的命令行界面,并使用命令cd /usr/local/zabbix/share/zabbix/alertscripts/进入Zabbix默认的脚本存放路径。 3. 在该路径下创建一个名为informix.sh的脚本文件,并将下面的内容复制到该文件中: ```bash #!/bin/bash # Informix监控脚本 # 获取Informix数据库的状态信息 informix_status=$(onstat -) # 在这里可以根据需要添加对Informix状态信息的处理逻辑,例如发送邮件或触发警报等 # 输出Informix状态信息到Zabbix echo "$informix_status" ``` 4. 保存并退出文件编辑器。 5. 确保informix.sh脚本具有可执行权限,你可以使用命令chmod +x informix.sh来设置权限。 6. 在Zabbix的Web界面中,导航到Administration -> Scripts,并点击"Create script"按钮。 7. 在"Name"字段中输入informix,并在"Command"字段中输入/usr/local/zabbix/share/zabbix/alertscripts/informix.sh。 8. 点击"Save"按钮保存脚本。 9. 配置Zabbix的监控项和触发器,以监控Informix数据库的状态。你可以根据informix.sh脚本的输出内容来设置监控项和触发器的条件。 10. 等待一段时间,Zabbix将开始监控Informix数据库并根据触发器的条件发送警报或执行其他操作。 通过以上步骤,你就可以在Zabbix中配置并监控Informix数据库了。请注意,这只是一个基本的示例,你可以根据实际需求对脚本进行修改和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Zabbix安装](https://blog.csdn.net/weixin_30915275/article/details/99986963)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值