摘要: Oracle触发器语法(一)一 Oracle触发器语法触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。功能:1、 允许/限制对表的修改2、 自动生成派生列,比如自增字段3、 强制数据一致性4、 提供审计和日志记录5、 防止无效的事务处理6、 启用复杂的业务逻辑触发器触发时间有两种:after和before。1、触发器的语法:CREATE [OR REPLACE] TIGGER触发器名 触发时间 触发事件ON表名[FOR EACH ROW]BEGINpl/sql语句END其中:触发器名:触 阅读全文
posted @ 2012-03-29 13:39 卡卡。冰 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 【案例一】题目:--触发器:--添加员工信息,流水号作为自动编号(通过序列生成),--并且判断如果工资小于0,则改为0;如果大于10000,则改为10000。CREATE TABLE emp2(e_id NUMBER,e_no NUMBER,e_name VARCHAR2(20),e_sal NUMBER)SELECT * FROM emp2;CREATE SEQUENCE seq_trg_id;INSERT INTO emp2(e_id,e_no,e_name,e_sal) VALUES(seq_trg_id.nextval,7788,'章子',1000000000000)I 阅读全文
posted @ 2012-03-29 12:55 卡卡。冰 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 1:uuid.hex: 采用128位的算法来生成一个32位字符串。最通用的一种方式。适用于所有数据库 。在*.hbm.xml中按如下设置。 <id name="id" unsaved-value="null"> <generator class="uuid.hex"/> </id> 2:指定参数的情况 <id name="id" unsaved-value="0"> <generator class="sequence"& 阅读全文
posted @ 2012-03-29 11:59 卡卡。冰 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 在开始讲解Oracle序列使用方法之前,先加一点关于Oracle client sqlplus的使用,就是如果执行多行语句的话一定要加“/”才能表示结束,并执行!本篇文章的主题是通过创建Oracle序列和触发器实现表的主键自增。1.首先创建序列,Oracle序列的语法格式为:CREATE SEQUENCE 序列名[INCREMENT BY n][START WITH n][{MAXVALUE/ MINVALUE n|NOMAXVALUE}][{CYCLE|NOCYCLE}][{CACHE n|NOCACHE}];1)INCREMENT BY用于定义序列的步长,如果省略,则默认为1,如果出现负值 阅读全文
posted @ 2012-03-29 11:58 卡卡。冰 阅读(173) 评论(0) 推荐(0) 编辑