Oracle 相关知识点

简介: 1、为Oracle表中的类型为DATE的TIME字段,向后加13天,SQL语句如下:update st_bridge_waterlevel set TIME=to_date(to_char...

1、为Oracle表中的类型为DATE的TIME字段,向后加13天,SQL语句如下:

update st_bridge_waterlevel set TIME=to_date(to_char(TIME+13,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss');

2、液位超警戒触发器

create or replace trigger tr_syit_bz_yw
after insert on hfpsbz.t_pump_liquidlevel
for each row
declare
  bzname   varchar2(20); 
  bzyw    numeric(10,4);
  dqyw    numeric(10,4);
  dt      date;
  dt2    date;
begin
   select sysdate-2/24 into dt2 from dual;
   select WARNV into bzyw from SYIT_BZ_V where PSID=:new.PSID;
   select PUMPNAME into bzname from SYIT_BZ_V where PSID=:new.PSID;
   dqyw := :new.liquidlevel;
   if :new.liquidlevel> bzyw then
       select NVL(max(warntm),dt2) into dt from hfoa.t_Sms where siteid=:new.PSID and warncontent like '%警戒水位%';
       if(ROUND(TO_NUMBER(:new.monitortime - dt) * 24)>=1) then
           insert into hfoa.t_Sms(sysid,siteid,sitename,warncontent,warntm)
           values('A',:new.psid,bzname,'['||bzname||'] '||:new.poolpump||'达到'||to_char(dqyw)||'厘米,已超过警戒水位'||to_char(dqyw-bzyw)||'厘米。',:new.monitortime);
       end if;
   end if;
end;

3、为PIP_PUMP创建insert、update和delete触发器

create or replace trigger tr_SYIT_PIP_PUMP
after insert or update or delete on hfpsbz.PIP_PUMP
for each row
declare
    integrity_error exception;
    errno            integer;
    errmsg           char(200);
begin
   if inserting then
       insert into SYIT_BZ_V(PSID,PUMPNAME,PUMPTYPE,WARNV)
       values(:new.PSID,:new.PUMPNAME,:new.PUMPTYPE,100);
   elsif updating then 
       update SYIT_BZ_V set PSID = :new.PSID,PUMPNAME = :new.PUMPNAME,PUMPTYPE = :new.PUMPTYPE where BID = :OLD.BID;
   elsif deleting then 
       delete from SYIT_BZ_V where BID = :OLD.BID;
   end if;
   exception 
    when integrity_error then
       raise_application_error(errno, errmsg);
end;

4、T_SMS删除触发器

create or replace trigger  TR_SYIT_T_SMS_DELETE
after delete  on  T_SMS
for   each  row
declare
    --这里是关键的地方,在变量申明的地方,指定自定义事务处理。     
    pragma autonomous_transaction;   
begin
   insert into T_SMS_HISTORY select * from T_SMS where TID=:old.TID;
    commit; 
end;


相关文章
|
4天前
|
SQL 存储 Oracle
老程序员分享:Oracle易忘知识点记录
老程序员分享:Oracle易忘知识点记录
|
2月前
|
SQL 存储 移动开发
[Oracle]知识点
本篇文章是关于Oracle各类知识点的小结,例如:rownum、约束、内置函数等。 如果文中阐述不全或不对的,多多交流。
64 4
[Oracle]知识点
|
10月前
|
存储 SQL Oracle
oracle知识点总结
oracle数据可系统是美国oracle(甲骨文)公司提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器或B/S体系结构的数据库之一,oracle数据库时目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完善的数据库管理功能,是关系型数据库,比mysql更为庞大,在现行的关系型数据库中排名第一(oracle、mysql、SqlServer),时间是最为精确的。
65 0
|
SQL 存储 Oracle
不得不会的Oracle数据库知识点(四)
不得不会的Oracle数据库知识点(四)
|
SQL Oracle 关系型数据库
不得不会的Oracle数据库知识点(三)
不得不会的Oracle数据库知识点(三)
|
SQL 存储 Oracle
不得不会的Oracle数据库知识点(二)
不得不会的Oracle数据库知识点(二)
|
Oracle 关系型数据库 数据库
不得不会的Oracle数据库知识点(一)
不得不会的Oracle数据库知识点(一)
|
监控 Oracle 关系型数据库
oracle ocp知识点
1. CHANGE FAILURE 命令将更改故障优先级或关闭一个或多个故障。仅可以更改HIGH 或LOW 故障优先级。
829 0
|
Oracle 安全 关系型数据库
SYS_Oracle Erp的基本知识点(概念)
2014-01-12 Created By BaoXinjian 1001. ORACLE EBS学习的其他资源有哪四个? (1).metalink  http://metalink.oracle.
1578 0
|
XML 关系型数据库 数据格式
OAF_Oracle Application Framework基本知识点(概念)
2014-02-06 Created By BaoXinjian 1. MVC的理解 MVC是Java应用中最常见的模式,即Model-View-Controller(模式-视图-控制) 在OAF中 Model对应了Application Model(AM) View对应了View Ob...
890 0