1.number类型在库中可能存在null这种数据

判断是否为空时要用如下:

IF(nvl(:NEW.BACAH,0) <>0)

不能用IF(BACAH IS NOT NULL)

2.

2.1 、取值时,需要到:NEW中取,有时也要到:OLD中取,具体情况具体分析

赋值如红色

1.SELECT B38_CODE INTO code FROM TEMP WHERE BAC_BACAW=:NEW.BACAW AND BAC_BACAE=:NEW.BACAE;

变量赋值

2.temp:==:NEW.BACAE

2.2、 FOR EACH ROW代表一条一条数据执行

create or replace TRIGGER TR_BAC
      BEFORE  INSERT OR UPDATE
      ON BAC_BACK
      FOR EACH ROW
      DECLARE

3. sql语句放入变量中,并执行,注意引号的运用

sql_temp := 'UPDATE b38_back SET '||code||'='||:NEW.BACAH || ' WHERE B0110= '''||:NEW.B0110||''' AND  TO_CHAR (B38Z0,''YYYYMM'') = TO_CHAR(TO_DATE('''||:NEW.BACZ0||'''),''YYYY'')||''01''';

execute immediate sql_temp;

number型一个引号,varchar2三个引号,看例子分析一下,很简单,为啥yyyymm是俩个引号,因为时间执行的sql时yyyy要放入到’yyyy‘中,所以俩个引号,同理'''||:NEW.B0110||'''也要是’1000‘,这种格式,第一个引号与前面的引号相连,后面俩个空1000左右俩个引号

4.  TO_CHAR 与   TO_DATE的使用,如3,

TO_CHAR (B38Z0,''YYYYMM'') = TO_CHAR(TO_DATE('''||:NEW.BACZ0||'''),''YYYY'')||''01''';

注意如下: 要将变量转为date类型,不然会出现to_char('01-1月-15',‘yyyy’)出错

oracle 触发器number判断空值,:NEW赋值,for each row,sql变量引号,to_date,to_char的更多相关文章

  1. oracle触发器加条件判断

    oracle触发器加条件判断,如果某个字段,isnode=0,那么不执行下面的方法,数据如下: create or replace trigger tr_basestation_insert_emp ...

  2. oracle 触发器学习

    触发器使用教程和命名规范 目  录触发器使用教程和命名规范 11,触发器简介 12,触发器示例 23,触发器语法和功能 34,例一:行级触发器之一 45,例二:行级触发器之二 46,例三:INSTEA ...

  3. Oracle触发器实例(网搜)

    触发器使用教程和命名规范 目  录触发器使用教程和命名规范 11,触发器简介 12,触发器示例 23,触发器语法和功能 34,例一:行级触发器之一 45,例二:行级触发器之二 46,例三:INSTEA ...

  4. oracle触发器应用

    首先给大家推荐两篇我看后的博文,我已经内容转载过来: 1.对触发器的讲解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建 ...

  5. SQL server与Oracle触发器的创建与使用

    SQL Server 1创建触发器 GO BEGIN IF (object_id('WMY', 'tr') is not null) DROP trigger WMY END; GO CREATE T ...

  6. 问题:Oracle出发器;结果:1、Oracle触发器详解,2、Oracle触发器示例

    ORACLE触发器详解 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创 ...

  7. oracle 触发器的实例(转)

    触发器使用教程和命名规范 目  录 目录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6 ...

  8. Oracle触发器原理、创建、修改、删除

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

  9. ORACLE 触发器

    •1.1 触发器类型 • DML触发器 • 替代触发器 • 系统触发器 •1.2 创建触发器 • 触发器触发次序 • 创建DML触发器 • 创建替代(INSTEAD OF)触发器 • 创建系统事件触发 ...

随机推荐

  1. iframe详细用法

    <iframe>是框架的一种形式,也比较常用到. 例子1.<iframe width=420 height=330 frameborder=0 scrolling=auto src= ...

  2. bzoj2597

    非常好的网络流题目 首先这里用到了求补集的思想,我们可以先求不满足的三元对的情况 设A-->B代表A赢B 由于最后所有胜负关系都确定,一定是一个完全图,所以任意一个不合法的三元对,单独取出来一定 ...

  3. Node.js权威指南 (8) - 创建HTTP与HTTPS服务器及客户端

    8.1 HTTP服务器 / 177 8.1.1 创建HTTP服务器 / 177 8.1.2 获取客户端请求信息 / 182 8.1.3 转换URL字符串与查询字符串 / 184 8.1.4 发送服务器 ...

  4. spring中context:property-placeholder/元素 转载

    spring中context:property-placeholder/元素  转载 1.有些参数在某些阶段中是常量 比如 :a.在开发阶段我们连接数据库时的连接url,username,passwo ...

  5. HDU-2576 Tug of War

    http://poj.org/problem?id=2576 二维数组01背包的变形. Tug of War Time Limit: 3000MS   Memory Limit: 65536K Tot ...

  6. Hibernate(七)多对一单向关联映射

    上次的博文Hibernate从入门到精通(六)一对一双向关联映射中我们介绍了一下一对一双向关联映射,本 次博文我们讲解一下多对一关联映射 多对一单向关联映射 多对一关联映射与一对一关联映射类 似,只是 ...

  7. HDOJ 2030 汉字统计

    Problem Description 统计给定文本文件中汉字的个数. Input 输入文件首先包含一个整数n,表示测试实例的个数,然后是n段文本. Output 对于每一段文本,输出其中的汉字的个数 ...

  8. Ubuntu学习笔记-win7&Ubuntu双系统简单搭建系统指南

    win7&Ubuntu双系统简单搭建系统指南 本文是自己老本子折腾Ubuntu的一些记录,主要是搭建了一个能够足够娱乐(不玩游戏)专注练习自己编程能力的内容.只是简单的写了关于系统的安装和一些 ...

  9. 用cmd改计算机名.bat 无需重启电脑生效

    echo offset /p cname=请输入计算机名: echo REGEDIT4 >reg.reg echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr ...

  10. 2013=7=29 nyist 13题

    Fibonacci数 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地 ...