日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 數(shù)據(jù)庫 > Oracle > 利用ORACLE存儲過程與JOB結(jié)合實現(xiàn)對數(shù)據(jù)表自動備份

利用ORACLE存儲過程與JOB結(jié)合實現(xiàn)對數(shù)據(jù)表自動備份

來源:程序員人生   發(fā)布時間:2014-05-25 18:49:14 閱讀次數(shù):3492次

網(wǎng)(LieHuo.Net)教程 利用ORACLE存儲過程與JOB結(jié)合實現(xiàn)對數(shù)據(jù)表自動備份。

1、創(chuàng)建存儲過程
create or replace procedure data_auto_backup as
v_tablename varchar2(200);
v_year varchar2(10);
v_month varchar2(10);
v_bakdate varchar2(50);
v_maxdate date;
v_tablecount integer;
v_recordcount integer;
begin
select max(t.field1) - 30 into v_maxdate from table1 t;
v_year := to_char(v_maxdate,'yyyy');
v_month := to_char(v_maxdate,'MM');
v_bakdate := to_char(v_maxdate,'yyyy-MM-dd');

-- 檢查將要使用的年月表是否存在
v_tablename := 'table1' || v_year || v_month;

SELECT COUNT(TABLE_NAME) INTO v_tablecount FROM USER_TABLES ut WHERE ut.table_name = v_tablename;

if v_tablecount>0 then
dbms_output.put_line('該表存在!');
else begin
dbms_output.put_line('該表不存在或當前用戶無權(quán)訪問!');
execute immediate 'CREATE TABLE ' || v_tablename || ' AS SELECT * FROM table1 sr WHERE sr.field2=''''';
end;
end If;

-- table1表備份
execute immediate 'DELETE FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''';
execute immediate 'INSERT INTO ' || v_tablename || ' SELECT * FROM table1 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''';

--dbms_output.put_line('DELETE FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');
--dbms_output.put_line('INSERT INTO ' || v_tablename || ' SELECT * FROM table1 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');
--dbms_output.put_line('SELECT COUNT(sr.field2) FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');

execute immediate 'SELECT COUNT(sr.field2) FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''' into v_recordcount;
if v_recordcount>0 then begin
execute immediate 'DELETE FROM table1 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''';
--dbms_output.put_line('DELETE FROM table1 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');
end;
end If;

commit;

-- 檢查將要使用的年月表是否存在
v_tablename := 'table2' || v_year || v_month;

SELECT COUNT(TABLE_NAME) INTO v_tablecount FROM USER_TABLES ut WHERE ut.table_name = v_tablename;

if v_tablecount>0 then
dbms_output.put_line('該表存在!');
else begin
dbms_output.put_line('該表不存在或當前用戶無權(quán)訪問!');
execute immediate 'CREATE TABLE ' || v_tablename || ' AS SELECT * FROM table2 cpi WHERE cpi.field3=''''';
end;
end If;

-- table2表備份
execute immediate 'DELETE FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''';
execute immediate 'INSERT INTO ' || v_tablename || ' SELECT * FROM table2 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''';

--dbms_output.put_line('DELETE FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');
--dbms_output.put_line('INSERT INTO ' || v_tablename || ' SELECT * FROM table2 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');
--dbms_output.put_line('SELECT COUNT(sr.field3) FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');

execute immediate 'SELECT COUNT(sr.field3) FROM ' || v_tablename || ' sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''' into v_recordcount;
if v_recordcount>0 then begin
execute immediate 'DELETE FROM table2 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''';
--dbms_output.put_line('DELETE FROM table2 sr WHERE TO_CHAR(sr.field1,''yyyy-MM-dd'') = ''' || v_bakdate || '''');
end;
end If;

commit;
dbms_output.put_line('Ok' || v_recordcount);
end;

2、創(chuàng)建JOB

--1天運行一次,當前運行第一次
begin
sys.dbms_job.submit(job => :job,
what => 'data_auto_backup;',
next_date => sysdate,
interval => 'sysdate+1');
commit;
end;
/

轉(zhuǎn)自:http://www.cnblogs.com/stoneblog/

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久久天堂国产精品女人 | 一区二区久久久 | 夜夜骑夜夜骑 | 天堂аⅴ在线最新版在线 | 日韩一区不卡 | 中文字幕国产日韩 | 国产精品正在播放 | 午夜精品久久久久久久久久久久久 | 国产精品污www在线观看 | 国产精品一区二区三区在线 | 国产精品一区二区三区免费视频 | 美女视频黄网站 | 一个人看的www日本高清视频 | 成人国产精品156免费观看 | 久久精品视频在线观看 | 国产午夜亚洲精品理论片色戒 | 成人免费视频国产 | 亚洲精品在线观看视频 | 国产四区| 日韩精品视频在线 | 国产亚洲精品久 | 不卡久久 | 久久都是精品 | 一区二区三区四区不卡 | 人成精品 | 人人九九精品 | a级片网址 | 黄色大片免费观看 | 精品国产91久久久久久 | 天堂av中文字幕 | 久久国产精品精品国产色婷婷 | 91久久国产精品 | 男女午夜网站 | 国产精品午夜在线 | 黄色三级免费 | 日本免费视频在线观看 | 精品久久久久久亚洲精品 | 国产一区二区三区久久 | 天堂在线观看 | 亚洲成人网页 | 黄色国产视频 |