易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle学习笔记(十二)

触发器
1.编写一个触发器实现如下功能:
  对修改职工薪金的操作进行合法性检查:
   a) 修改后的薪金要大于修改前的薪金
   b) 工资增量不能超过原工资的10%
   c) 目前没有单位的职工不能涨工资
create or replace trigger tr1
after update of sal on emp
for each row
begin
  if :new.sal <= :old.sal then
       raise_application_error(-20001,'修改后的薪金要大于修改前的薪金');
  elsif :new.sal > :old.sal * 1.1 then
       raise_application_error(-20002,'工资增量不能超过原工资的10%');   
  elsif :old.deptno is null then
       raise_application_error(-20003,'没有单位的职工不能涨工资');          
  end if;
end;
  
2. 在emp表上编写一个触发器,实现如下功能:
  当插入或删除的职工记录属于10号部门时,记录下操作时间,语句的种类(插入/删除),
和涉及的员工号
 
--建立日志表
  create table logtable(
       serial number primary key, --序号
       dmltime date,  --时间
       dmltype varchar2(20), --DML种类
       empno number --员工号
);
 
--建立序列(用于产生logtable的序号)
 create sequence seq1;
--建立触发器
 create or replace trigger tr2
 after insert or delete on emp
 for each row
 when (new.deptno = 10 or old.deptno = 10)  --插入或删除的职工记录属于10号部门时触发 
 --when的条件成立的时候触发
 --对新值和旧值引用的时候不要用:
              
 begin
   if inserting then --插入
      insert into logtable values (seq1.nextval,
                 &nbs


相关文档:

[Oracle]高效的PL/SQL程序设计(四)

本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......

[Oracle]高效的PL/SQL程序设计(五)

本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......

Oracle中用一句SQL语句实现行列转换

SQL*PLus>   desc   emp;  
    名称                                                                   &nbs ......

mysql 与Oracle 函数对比

Oracle函数和mysql函数比较
1.       Oracle中的to_number()转换成数字;
Oracle> Select to_number(‘123’) from dual;  -----         123;
           &nbs ......

解读Oracle计划:Solaris将被拯救 MySQL继续前途未卜


【51CTO.com独家特稿】面对惊慌的客户和广泛质疑的媒体,Oracle官方最近终于出榜安民,那便是一个以“SUN CUSTOMERS ,Oracle Plans To:”为大标题的广告。直译过来便过来可知道,Oracle将要加大SPARC和Solaris的投入了,而大老板埃里森也向IBM硬件下了战书,声称Oracle将最终赢得这场竞争……
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号