zoukankan      html  css  js  c++  java
  • 编程学习记录14:Oracle数据库序列,触发器

    序列(SEQUENCE):按规律生成数组,如自增

    创建序列:

      CREATE SEQUENCE <序列名> 

      [ INCREMENT BY  n ] -- 定义步长,即每次生成整数的间隔,默认为1,如果小于0则为递减

      [ START WITH n ] -- 初始值,默认为1

      [ MAXVALUE n ] -- 设置最大值

      [ MINVALUE n ] -- 设置最小值

      [ CYCLE | NOCYCLE ] -- 设置是否在达到最大值后进行循环

      [ CACHE n ] -- 设置缓存区大小,默认20,会提前预存 n 个数来改善性能

    变量

      NEXTVAL:得到下一个值

      CURRVAL:得到当前有效值

    触发器(TRIGGER):在某个条件成立时自动执行

    创建触发器

      CREATE [ OR REPLACE ] TRIGGER <触发器名字> 

      <触发时机> 

      <触发事件>

      ON <表名>

      [ FOR EACH ROW ]

      BEGIN

        PL/SQL 语句

      END;

      触发时机值

        1、BEFORE:表示在操作之前触发

        2、AFTER:表示在操作之后触发

      触发事件值

        1、INSERT:进行插入操作时会执行

        2、UPDATE:进行更新操作时会执行

        3、DELETE:进行删除操作时会执行

      表名:触发器对应的表

      FOR EACH ROW :对每一行操作执行一次,如没有则此次操作只执行一次,如插入多条数据 

    常用内置变量

      1、:NEW

        表示要更改的行,可以通过 :NEW. <列名> 获取对应的值,可以用来插入主键

      2、:OLD

        表示更改前的行,可以通过 :OLD.<列名> 获取对应的值,可以用来删除外键产生的依赖数据

  • 相关阅读:
    quagga源码学习--BGP协议的初始化
    Golang pprof heap profile is empty
    python requests 配置超时及重试次数
    SVN: bdb: BDB1538 Program version 5.3 doesn't match environment version 4.7
    OpenSSL Command-Line HOWTO
    树莓派保卫战--防止SSH暴力破解
    Mac OS X Tips
    Git Tips
    SQL分组多列统计(GROUP BY后按条件分列统计)
    Show Linux Package Sort By Size
  • 原文地址:https://www.cnblogs.com/HMTT-RIN/p/11251186.html
Copyright © 2011-2022 走看看