- 浏览: 1730856 次
- 性别:
- 来自: 沈阳
文章分类
- 全部博客 (288)
- java (59)
- javaweb (15)
- eclipse (16)
- uml (1)
- java ee (7)
- windows (5)
- html (4)
- 数据结构和算法 (6)
- oracle (84)
- struts (3)
- ajax (3)
- hibernate (3)
- spring (12)
- ExtJS (14)
- 随笔 (2)
- JavaScript (9)
- PL SQL (12)
- tomcat (2)
- Plugins (5)
- office (2)
- webService (4)
- others (9)
- htc (1)
- 自定义标签的行为 (1)
- powerDesigner (3)
- webSphere (5)
- linux (6)
- dom4j (1)
- xml (5)
- json (2)
- bat (4)
- spring MVC (5)
- MySQL (12)
- junit (4)
- maven (10)
- jquery (1)
- mongoDB (16)
- git (0)
- mybatis (5)
- svn (3)
- activemq (3)
- quartz_job (1)
最新评论
-
白天看黑夜:
PDMReader实现pdm建模快速导出word,html文件 ...
利用powerDesigner逆向导出oracle表为PDM并把PDM转为CDM -
sanshao:
roompig 写道beancopier只实现了浅拷贝的功能, ...
使用Cglib的BeanCopier实现Bean的拷贝 -
贝塔ZQ:
Java实现导入导出excel文件,利用poi实现感觉代码比较 ...
利用java导入导出excel到oracle数据库 -
suxj16:
部署之后启动有问题org.springframework.be ...
spring mvc文件上传实现进度条(转) -
suxj16:
谢谢分享。部署之后启动有问题org.springframewo ...
spring mvc文件上传实现进度条(转)
一、触发器概念:(Trigger):
是一种命名的PL/SQL块,是针对特定事件自动触发的。触发器不能接收参数。
是基于表、视图、方案、数据库级别的。
二、为什么使用触发器。
通常可以实现一些审计的操作。
三、触发器类型:
1、DML触发器:当在数据库上做DML操作时建立的触发器。
2、DDL触发器:当在数据库上做DDL操作时建立的触发器。
3、系统事件触发器:当实例系统、关闭、用户登陆、登出等操作时建立的触发器。
四、DML触发器:
1、DML语句级触发器:当在一个表上做某个DML操作时,触发器体本身的语句被自动执行1次。
创建语法:
create Or Replace Trigger 触发器名 [before|After] [Insert|Update|Delete] On
表名 PL/SQL块。
说明:before|After,触发时间。before表示触发器体内的语句在DML操作之前执行,After表示之后执行。
[Insert|Update|Delete] :触发事件
PL/SQL块,如果有变量声明部分,需要以declare关键字开头。
在触发器里不能包含事物结束的语句。
2、DML行级别触发器: 当在一个表上做某个DML操作时,触发器体本身的语句根据DML操作所影响的行数
来决定执行多少次。
create Or Replace Trigger 触发器名 [before|After] [Insert|Update|Delete] On
表名 For Each Row
PL/SQL块。
创建表:
Create table audit_emp_table( user_name varchar2(10), timestamp date, old_empno number(10), new_empno number(10), old_ename varchar2(10), new_ename varchar2(10), old_job varchar2(10), new_job varchar2(10), old_sal number(7,2), new_sal number(7,2) );
创建触发器:
CREATE OR REPLACE TRIGGER audit_emp_values AFTER DELETE OR INSERT OR UPDATE ON emp FOR EACH ROW BEGIN INSERT INTO audit_emp_table (user_name, timestamp, old_empno,new_empno,old_ename, new_ename, old_job,new_job, old_sal, new_sal) VALUES (USER, SYSDATE, :OLD.empno,:NEW.empno, :OLD.ename, :NEW.ename, :OLD.job, :NEW.job, :OLD.sal, :NEW.sal ); END;
试验:
Select * From audit_emp_table Update emp Set sal = sal; Commit;
触发器例子1:
create or replace trigger ZA_ZFBA_JCXX_RK_WFXYRXX before insert or update on ZA_ZFBA_JCXX_RK_WFXYRXX for each row declare begin if inserting then :new.gxsj :=sysdate; :new.tbsj :=sysdate; elsif updating then :new.gxsj :=sysdate; end if; end;
触发器例子2.
create or replace trigger update_sary after update on za_zfba_jcxx_rk_sary for each row DECLARE BEGIN IF(:new.GMSFHM is not null) THEN update ZA_ZFBA_JCXX_RK_SARY_H t set t.GMSFHM = gmsfhm, t.XM = xm, t.RYXH = :new.RYXH where t.RYXH = :old.RYXH and t.AJBH = :old.AJBH and RYLB = '0'; END IF; END update_sary;
发表评论
-
日期差的天时分秒表示SQL(转)
2015-01-09 14:47 2432文章出自:http://blog.csdn.net/ ... -
MySQL分组后排序的问题(转)
2014-05-21 11:31 1722文章出自:http://zhidao.baidu.co ... -
在oracle的decode函数中实现like相同操作
2014-03-28 14:37 10906在oracle的decode函数中不能使用like操作 ... -
45个非常有用的Oracle查询语句分享
2014-03-17 13:41 972文章出自:http://tech.it168.com ... -
能使 Oracle 索引失效的七大限制条件
2014-03-17 13:11 6229文章出自:http://tech.it168.com/ ... -
oracle存储过程异常处理及时间戳变量类型
2014-03-15 18:02 3114下面通过一个简单 ... -
对只转发结果集的无效操作: isLast
2014-03-13 14:19 2728在遍历结果集的时候,用rs.isLast()来判断是否到达 ... -
oracle连接DBLINK报错:ORA-12154: TNS:could not resolve service name的解决办法(转)
2014-01-13 15:56 3158文章出自:http://blog.csdn.net/x ... -
查看oracle enterprise manager端口的途径(转)
2014-01-13 12:04 1334文章出自:http://www.myexception ... -
利用java导入导出excel到oracle数据库
2013-12-05 14:46 8643用到的JAR包如下(可以直接到POI官网上下载也可以 ... -
WebSphere+Oracle乱码问题解决
2013-11-26 15:01 1581环境介绍: Web容器(中间件):W ... -
v$session 的权限(转)
2013-11-15 13:32 1835文章出自:http://blog.csdn.net/x ... -
Oracle中查看所有表和字段(转)
2013-08-29 11:48 1258文章出自以下两个网站: Oracle中查看所有表和字 ... -
oracle杀掉正在运行的存储过程
2013-08-28 16:05 3268本篇文章主要介绍如何kill掉一个正在运行的存储过程, ... -
oracle中v$access视图介绍
2013-08-28 15:49 8488如果想了解如果杀掉一个正在运行的存储过程,请查询这篇 ... -
oracle 临时表介绍(整合)
2013-08-27 11:14 2482在工作中用临时表从A库到B库导入LOB(大)字段,用临 ... -
oracle 的连接操作(left jion,right jion, full jion)
2013-06-14 12:52 25441.创建测试表 -- Create table ... -
如何查看oracle的版本信息(转)
2013-05-07 08:30 1221文章出自: http://blog.sina.com. ... -
oracle触发器实践(增,改,删)
2013-04-27 14:02 1396实现对某个表的增改删的监控操作,并记录到另一个表中. ... -
Oracle如何正确删除archivelog文件(转)
2013-04-10 13:29 2959文章出自 : http://cac ...
相关推荐
在Oracle数据库中,PL/SQL用于编写存储过程、函数、触发器、游标、异常处理等,这些都极大地增强了数据库的功能和性能。通过使用PL/SQL,开发者可以编写复杂的逻辑,提高数据处理的效率,并且能够更好地控制并发访问...
PL/SQL,全称Procedural Language/Structured Query Language,是Oracle数据库提供的一个结合了SQL语句和过程式编程语言的编程环境。它主要用于管理和控制Oracle数据库,是Oracle数据库开发的核心工具之一。PL/SQL...
Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...
### Oracle 9i PL/SQL程序设计笔记精要 #### PL/SQL基础知识概览 **标题与描述**:本文档围绕“Oracle 9i PL/SQL程序设计笔记”这一核心主题,深入探讨了PL/SQL语言的基础知识及其在Oracle 9i数据库环境中的应用。...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...
1. **PL/SQL简介**:PL/SQL是Oracle数据库的内置编程语言,用于创建存储过程、函数、触发器和包。它的语法基于SQL,但增加了流程控制、异常处理和数据类型等特性。 2. **变量和数据类型**:PL/SQL支持多种数据类型...
8. **触发器**:触发器是在特定数据库事件(如INSERT、UPDATE、DELETE)发生时自动执行的PL/SQL代码,常用于实现业务规则和约束。 9. **包(Package)**:包是组织和封装相关PL/SQL对象(如过程、函数、变量和类型...
ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...
PL/SQL是Oracle数据库系统中的一个关键组成部分,它是一种过程化语言,专为数据库操作设计。这个"PL/SQL最新中文手册"显然是一份详细解释PL/SQL 7.0版本的指南,对于学习和精通Oracle数据库编程至关重要。以下是手册...
Oracle PL/SQL是Oracle数据库系统中的重要组成部分,它是一种结合了SQL查询语言和过程化编程元素的编程语言,专门用于在Oracle环境中进行数据库管理和应用程序开发。这个“Oracle PL-SQL.rar”压缩包提供了针对初学...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...
在IT行业中,Oracle数据库系统是企业级数据管理的首选,而PL/SQL是Oracle数据库的内置编程语言,用于实现复杂的数据库操作和业务逻辑。本文将深入探讨如何利用PL/SQL结合Web技术来构建一个功能丰富的网上商店。我们...
Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...
PL/SQL是Oracle数据库中用于创建存储过程、函数、触发器、包等数据库对象的主要工具。第4版特别关注了在Oracle 11g环境下的新特性,如性能优化、错误处理和并发控制等。 1. **基础语法**:PL/SQL的基础包括声明变量...
9. **索引和性能优化**:了解如何创建和使用索引,以及通过PL/SQL分析和优化SQL查询性能。 10. **并发控制**:PL/SQL中的锁定机制,如ROW LEVEL LOCKING,以及如何处理死锁问题。 11. **错误处理和日志记录**:...
Oracle PL/SQL是Oracle数据库系统中的重要组成部分,用于开发存储过程、函数、触发器等数据库对象,以及执行复杂的SQL操作。以下是对Oracle PL/SQL及其相关知识点的详细说明: 1. **Oracle数据库基础**:Oracle...
PL/SQL Developer是一款由Allround Automations公司开发的专业Oracle数据库开发工具,专为编写、调试、测试和管理PL/SQL代码而设计。标题中的“pl/sql developer11.0”指的是该软件的第11个主要版本。在本文中,我们...
《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...
总的来说,PL/SQL 8 Oracle客户端是用于管理和操作Oracle数据库的强大工具,它的功能包括但不限于编写存储过程、触发器、事务控制、错误处理等。了解和掌握PL/SQL语言对于任何Oracle数据库管理员或开发者来说都至关...
Oracle PL/SQL是一种强大的编程语言,它将数据库管理和应用程序逻辑紧密结合起来,是Oracle数据库系统中的核心组件之一。这本书“Oracle PL/SQL实例编程”显然旨在深入讲解如何利用PL/SQL进行实际开发工作,通过实例...