知识大全 Oracle中对COLUMNS
Posted 知
篇首语:生活是活给自己看的,你有多大成色,世界才会给你多大脸色。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle中对COLUMNS相关的知识,希望对你有一定的参考价值。
Oracle中对COLUMNS 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
本文详细讲述了Oracle中对COLUMNS_UPDATED()返回值解析
需求来源
客户要求[某些特定的表]能[自定义预警报告]
(在特定的表上)用户可定义某些字段有修改时 向有关用户发出消息警报<内容大致是 xx 单据的 xx 单号的xx字段由 old 变为了 new> 最终目的是由消息控制模块向消息接收人报告这一变更
基础知识:
COLUMNS_UPDATED()是一个仅可在 Insert or Update trigger 中调用的方法
该方法返回 一个 varbinary 的值 存储了当次Insert 或是Update 触发器所对应的记录在哪些字段上发生了Inserted or updated 在SQLSERVER 的联机帮助[CREATE TRIGGER]和[IF UPDATE] 中有对 COLUMNS_UPDATED () 方法的简要描述
公司要求用Trigger 实现: (为每个[特定的表]编写一个特定的UPDATE 触发器 )主要难点是穷举IF UPDATE(column)的方法不可行 其它业务实现无问题 后来仔细琢磨COLUMNS_UPDATED() 所返回的值 问题得到解决
这里只是讲述对COLUMNS_UPDATED()所返回的值的解析和运用 就不考虑用户指定变更字段及插入记录到消息表的那部分实现过程了
测试数据准备
>
编写Update 触发器
>
测试数据
>
算法
COLUMNS_UPDATED()方法返回的 varbinary 是以每个小节存储 个字段(的修改状态)的方式记录了当前触发器所有列的修改情形 因此程序以 个字段为一片段来循环处理所有字段
SET @iVal= SubString(COLUMNS_UPDATED() @i + )程序用上面语句将一小节转化为整型 测试发现:(当且谨当这一小片只有一个字段有修改时)
>
而当且谨当 个字段有修改时:
>
而第 三个字段有修改时:
>
当 个字段都有修改时:
> cha138/Article/program/Oracle/201311/17153
相关参考
Delphi中对Oracle存取RTF文档 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 关系数
Oracle中对像名大小写敏感性的深入解析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一般情
运行中对汽轮机主轴承需要检查的项目有:各轴承油压、所有轴瓦的回油温度、回油量、振动、油挡是否漏油、油中是否进水。
运行中对汽轮机主轴承需要检查的项目有:各轴承油压、所有轴瓦的回油温度、回油量、振动、油挡是否漏油、油中是否进水。
C#中对DatagridView部分常用操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! (最
C#中对DatagridView的部分常用操作 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! (
下列选项中对“民主”理解错误的是_____。A、民主是与专制相对立的政治制度B、民主是与专政相对立的政治制度C、民主是从法律上用平等原则代替等级特权的制度D、民主是一定阶级享有政治权利并对敌对阶级实行
Java中对HashMap的深度分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在Java的
Java中对文件的读写操作之比较 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java对文件进
知识大全 Visual Studio中对Linux应用进行远程调试
VisualStudio中对Linux应用进行远程调试 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧