Oracle 相關知識點
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;
相關文章
- oracle檢查點的相關知識Oracle
- Git相關知識點Git
- redis相關知識點Redis
- shell相關知識點
- oracle awr相關知識Oracle
- 【Java】容器相關知識點Java
- ivar layout 相關知識點
- LR模型相關知識點模型
- ARP相關知識點
- Oracle相關基礎知識Oracle
- React相關知識點:關於ReduxReactRedux
- Java容器相關知識點整理Java
- 總結 MySQL 相關知識點MySql
- JVM相關知識點總結JVM
- UIBarButtonItem的相關知識點UI
- library cache相關知識點
- Extjs相關知識點梳理JS
- tmpwatch相關的知識點
- 面試系列之View相關知識點面試View
- 資料庫相關知識點提要資料庫
- GreatSQL統計資訊相關知識點SQL
- Oracle timezone的相關知識Oracle
- 【Oracle】alter system set events 相關知識Oracle
- Fragment 相關知識點都在這裡了Fragment
- PHP物件相關知識點的總結PHP物件
- rman配置及常用操作相關知識點
- 異常處理及其相關知識點
- Shell相關知識
- .net相關知識
- mobile相關知識
- rollback相關知識
- oracle10g undo tablespace相關知識Oracle
- Java併發相關知識點梳理和研究Java
- 資料庫相關知識點(秋招整理)資料庫
- 遊戲伺服器開發相關知識點遊戲伺服器
- C++中類相關知識點總結C++
- 音訊相關知識音訊
- Elasticsearch——search相關知識Elasticsearch