zoukankan      html  css  js  c++  java
  • 触发器爬坑

    1、触发器默认不允许操作当前表

    如果有需求,则需要开启自治事务:

    PRAGMA AUTONOMOUS_TRANSACTION;
    

    并手动提交开启自治事务之后的修改:

    COMMIT;
    

    2、查询当前表的数据

    :NEW是获取修改后的行数据,:OLD是获取修改前的行数据。如果用sql查询,则查询出来的结果集是修改之前的数据,也就是update操作之前的数据。

    3、FOR循环取值

    不管你遍历的结果集只有一个字段还是多个字段,FOR循环都是按行取数据,也就是将一个或多个字段封装成一行数据。
    以下面为例,当你只查询一个字段时,在FOR循环里面取值也需要通过fields.aField来获取数据:

    FOR fields IN (SELECT aField FROM xxx) LOOP
      IF fields.aField = xxx THEN 
        xxx;
      END IF;
    END LOOP;
    

    4、变量命名

    申明变量名不要和数据库表字段名重复,不然会出现意想不到、很难发现的问题。

  • 相关阅读:
    tcpdump命令
    浅谈  curl命令
    MongoDB下rs.status()命令
    Device mapper存储方式
    top命令
    cat命令汇总整理
    centos7搭建nginx日志
    CentOS7 防火墙(firewall)的操作命令(转)
    服务器的硬件组成
    shell随机生成10个文件
  • 原文地址:https://www.cnblogs.com/irain/p/14954895.html
Copyright © 2011-2022 走看看