在Oracle中建立任務自動傳送郵件

2021-06-23 06:47:13 字數 2373 閱讀 3130

------自動執行的任務-------

create or replace procedure proc_getchangeddepot as  

begin  

declare

cursor c_depot

is  

select cr_centercode,cr_stationid,cr_stationcode,name,cr_operid from m_depotstcode depot join b_centerstationrelation relation

on depot.ownerdepot=relation.cr_stationid and depot.code=relation.cr_stationcode where

exists(select 1 from b_centerstationcode t where t.areaid!=depot.areaid);

ntext integer;

row_result c_depot%rowtype;

begin

ntext:=0;

for row_result in c_depot loop

--insert into tm_areacompare(id,centercode,stationcode,ownerdepot,name) values(row_result.cr_centercode,row_result.cr_stationcode,result.cr_stationid,result.name);

insert into b_centerstationrelation_del(id,cr_centercode,cr_stationid,cr_stationcode,cr_operid,cr_opdate,del_date,isoper)

values(sys_guid(),row_result.cr_centercode,row_result.cr_stationid,row_result.cr_stationcode,row_result.cr_operid,sysdate(),sysdate(),0);

delete from b_centerstationrelation where cr_centercode=row_result.cr_centercode and cr_stationid=row_result.cr_stationid and cr_stationcode=row_result.cr_stationcode

ntext:=ntext+1;

end loop;

if ntext>0 then

procsendemail('有'||to_char(ntext,'999')||'條變更,詳細記錄請登陸系統檢視,請及時修改中心資料',

'客運站有編碼有變動,請檢視更新',

'[email protected]',--傳送人郵件位址

'[email protected]',        --接收位址,可以同時傳送到多個位址上,位址之間用","或者";"隔開

'172.31.200.30',

25,1,

'***x',

'***x',

'','bit 7');

end if;

commit;

end;

end proc_getchangeddepot;

--------自動傳送郵任務儲存過程-------

create or replace procedure proc_auto_exec_getchangeddepot as  

begin  

declare  

job number;  

begin  

dbms_job.submit(  

job => job,  /*自動生成job_id*/  

what => 'proc_getchangeddepot;',  /*需要執行的過程或sql語句*/  

/*next_date => sysdate, */ /*初次執行時間,立刻執行*/  

/*interval => 'sysdate+3/(24*60*60)' */ /*執行週期 -每3秒鐘*/  

next_date => sysdate,  /*初次執行時間,12點30分*/  

interval =>  'sysdate+1'  /*每天12點30分 'sysdate+1'*/  

);    

commit;  

dbms_job.run(job);  

end;  

end proc_auto_exec_getchangeddepot;  

begin proc_auto_exec_getchangeddepot; end;

---------傳送郵件儲存過程--------------

在oracle中建立自動增長字段

oracle在建立表時和其他的資料庫有點不一樣,如sql server可以在int型別的字段後加上 identity 1,1 該字段就會從1開始,按照 1的方式自增,將這個字段設定為主鍵,有利於我們進行資料的插入操作。mysql中可以使用 auto increment 即可。但是oracle有點麻煩...

在oracle中建立自動增長字段

oracle在建立表時和其他的資料庫有點不一樣,mysql中可以使用 auto increment 即可。但是oracle有點麻煩,需要使用序列和觸發器達到目的。具體步驟如下 一 建立資料表 create table employee id int deptno number,empno numbe...

在oracle中建立自動編號sql

code create sequence 首先建乙個序列 此處seq lastyeardiscase為序列名 create sequence 我的序列名 minvalue 1maxvalue 999999999999999999999999999 start with 1increment by1 ...