知识大全 关于触发器修改自身数据表实例
Posted 语句
篇首语:空空的口袋不能阻碍你的未来,空空的脑袋你将永远贫穷。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 关于触发器修改自身数据表实例相关的知识,希望对你有一定的参考价值。
前言 当然 在触发器修改自身数据表 对于有ORACLE数据库后台编程人员来说 并不应该算是一个难题 可能在平时的工作中就经常要遇到 但对于刚刚使用ORACLE数据库后台编程人员来说 的确是一个比较烦人的问题 说明 ORACLE的触发器分为两类 行触发器(For Each Row)和表触发器 在行触发器中 不得将Insert/Update/Delete语句作用于自身数据表 在表触发器中 不得使用:New/:Old语句 但在实际编程过程中 我们往往需要对自身数据表进行DML(Insert/Update/Delete)操作 同时引用:New/:Old对象 如 使用Insert Into xxx (Select * From yyy Where xKey= )语句后 我们需要保存插入记录的时间 由于数据库操作的时间差 我们不可以使用:New xDate:=SysDate语句<使用这一语句后 插入的每笔记录xDate的数值会不一样 可相差数秒> 对我们来说 最好的语句是 Update xxx Set xDate=SysDate Where xKey=:New xKey 此时 我们使用Update语句的同时 又使用了:New对象 ORACLE认为不合法 解决提案 实现此需求 我们需要建立一个行触发器 一个表触发器以及一个程序包 创建测试环境 Drop Table xxx; Drop Table yyy; 创建数据表 Create Table xxx( xKey Number( ) xDate Date xData number( )); Create Table yyy( xKey Number( ) xDate Date xData number( )); 创建程序包 设立全局变量G_xKe Create Or Replace Package Pkg_xxx_Update as G_xKey xxx xKey%Type; End Pkg_xxx_Update; / 创建行触发器 并将xKey的值存入程序包的全局变量中 Create Or Replace Trigger TRG_Upd_xxx_Rec After Insert On xxx For Each Row Begin Pkg_xxx_update G_xKey:=:New xKey; End; / 创建表触发器 根据程序包的全局变量 对数据表的xDate字段进行更新 Create Or Replace Trigger TRG_Upd_xxx_TB After Insert On xxx Begin Update xxx set xDate=SysDate Where xKey=PKG_xxx_Update G_xKey; End; / 插入大量数据 <<InsertMultiRecord>> Declare L_Count Number:= ; Begin Delete from yyy; While L_Count< Loop insert into yyy values( SysDate L_Count); L_Count:=L_Count+ ; End Loop; Commit; End InsertMultiRecord; 测试触发器 Insert Into xxx (Select * from yyy); Commit; Select * From xxx; cha138/Article/program/Oracle/201311/18637相关参考
SQLServer触发器创建、删除、修改、查看 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一
Oracle触发器语法及实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一Oracle触发器
SQL触发器实例讲解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Arti
sqlupdate语法与实例 在日常使用的数据库教程是一个不断变化的数据存储在SQL是用于修改数据已经在数据库中的更新和删除mandsThe更新语句可以更新表格中的一个或多个记录命令 UPDA
在oracle中有个大对象(lobs)类型可用分别是blobclobbfilenclob 下面是对lob数据类型的简单介绍 lblob:二进制lob为二进制数据最长可达GB存贮在数据库中 l
JQuery的自定义事件代码,触发,绑定简单实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!下面
回滚段管理一直是ORACLE数据库管理的一个难题本文通过实例介绍ORACLE回滚段的概念用法和规划及问题的解决 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位
规程关于计算机软件的修改与保存有哪些规定?参考答案:1、更新、升级计算机系统软件、应用软件或下载数据,其存储介质须是本计算机专用存储介质,不允许与其它计算机系统交换使用;2、进行计算机软件组态、设定值
规程关于计算机软件的修改与保存有哪些规定?参考答案:1、更新、升级计算机系统软件、应用软件或下载数据,其存储介质须是本计算机专用存储介质,不允许与其它计算机系统交换使用;2、进行计算机软件组态、设定值
问题如何通过触发器实现数据库的即时同步? 解答具体的解决方法请参考下文 即时同步两个表的示例如下: 测试环境如下:SQLSever数据库远程主机名:xz用户名:sa密码:无数据库名:test