<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    爪哇一角

    共同探討STRUTS#HIBERNATE#SPRING#EJB等技術
    posts - 3, comments - 6, trackbacks - 0, articles - 99
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    ORACLE----觸發器,存儲過程及JOB

    Posted on 2006-09-20 16:14 非洲小白臉 閱讀(371) 評論(0)  編輯  收藏 所屬分類: oracle

    ORACLE----觸發器,存儲過程及JOB

    一、ORACLE中創建自增的ID字段
    1、創建序列
    ?create *sequence_name* ?increment by 1 start with 1 maxvalue 999999999;
    2、創建觸發器---(創建一個基于該表的before insert 觸發器,在觸發器中使用該SEQUENCE)
    create or replace trigger *triger_name*
    before insert on???????*table_name*
    referencing old as old new as new for each row
    begin
    select? *sequence_name.nextval into :new.id from dual;
    end;
    例:
    ??????create sequence FP_FP_SEQ
    ??????minvalue 1
    ??????maxvalue 999999999999999999999999999
    ??????start with 49231
    ??????increment by 1
    ??????cache 10;

    ??????create or replace trigger FP_FP_tig before insert on FP_FP for each row
    ??????begin
    ???????select FP_FP_seq.nextval into :new.id from dual;
    ??????end;
    /
    二、ORACLE中JOB的應用
    1、創建存儲過程
    create or replace procedure??? *pro_name
    as
    begin
    ?insert into agri_exhibition_basecur (messid,title,type,pub_date)?? select id,title,sort,pub_date from agri_message? where??? (trunc(sysdate-pub_date)=0 and rownum<6) and sort='供' ;
    ?insert into agri_exhibition_basecur (messid,title,type,pub_date)?? select id,title,sort,pub_date from agri_message? where??? (trunc(sysdate-pub_date)=0 and rownum<6) and sort='求' ;
    end;
    /
    2、創建JOB
    variable jobdxm number;
    begin
    dbms_job.submit(:jobdxm,'exhi_pro_dxm;',sysdate,'trunc(sysdate,''dd'')+32.5/24');
    end;
    三、收集的一個簡單的JOB實列
    1、創建測試表
    SQL> create table a(a date);

    表已創建。

    2、創建一個自定義過程
    SQL> create or replace procedure test as
    ? 2? begin
    ? 3? insert into a values(sysdate);
    ? 4? end;
    ? 5? /

    過程已創建。

    3、創建JOB
    SQL> variable job1 number;
    SQL>
    SQL> begin
    ? 2? dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  --每天1440分鐘,即一分鐘運行test過程一次
    ? 3? end;
    ? 4? /

    PL/SQL 過程已成功完成。

    4、運行JOB
    SQL> begin
    ? 2? dbms_job.run(:job1);
    ? 3? end;
    ? 4? /

    PL/SQL 過程已成功完成。

    SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 時間 from a;

    時間
    -------------------
    2001/01/07 23:51:21
    2001/01/07 23:52:22
    2001/01/07 23:53:24

    5、刪除JOB
    SQL> begin
    ? 2? dbms_job.remove(:job1);
    ? 3? end;
    ? 4? /

    PL/SQL 過程已成功完成。
    6、一些必要的參數
    修改initsid.ora參數
    job_queue_processes = 4
    job_queue_interval = 10
    job_queue_keep_connections=true

    修改可執行作業個數為20個
    ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20

    修改取消限制模式
    ALTER SYSTEM DISABLE RESTRICTED SESSION;

    7、兩個必要的表
    ????? user_jobs及dba_jobs_running

    8、相關的幾個JOB操作
    刪除job:dbms_job.remove(jobno);
    修改要執行的操作:job:dbms_job.what(jobno,what);
    修改下次執行時間:dbms_job.next_date(job,next_date);
    修改間隔時間:dbms_job.interval(job,interval);
    停止job:dbms.broken(job,broken,nextdate);
    啟動job:dbms_job.run(jobno);

    主站蜘蛛池模板: 日韩大片在线永久免费观看网站 | 亚洲AV无码一区二区三区国产| 亚洲精品综合久久中文字幕 | 免费看片A级毛片免费看| 亚洲videosbestsex日本| 99久久综合精品免费| 极品色天使在线婷婷天堂亚洲| 最近的中文字幕大全免费版| 日本亚洲精品色婷婷在线影院 | 黄色网址免费在线观看| 亚洲综合色区在线观看| 亚洲天堂福利视频| 全免费毛片在线播放| 亚洲日韩精品国产3区| 国产免费观看青青草原网站| 免费国产a理论片| 国产亚洲精品拍拍拍拍拍| 亚洲综合激情五月色一区| 日韩中文无码有码免费视频 | 无码人妻AV免费一区二区三区| 亚洲五月六月丁香激情| 羞羞视频免费观看| 黄色免费网站网址| 亚洲精品无码日韩国产不卡av| 国产一级淫片免费播放电影| 一级毛片免费全部播放| 国产国产成年年人免费看片| 国产99久久久国产精免费| 亚洲阿v天堂在线| 国产99在线|亚洲| 免费人成年轻人电影| 毛片在线全部免费观看| 亚洲色一色噜一噜噜噜| 久久久久国产精品免费网站| 亚洲日韩看片无码电影| 国产亚洲老熟女视频| 中文毛片无遮挡高潮免费| 国产精品亚洲天堂| 亚洲国产人成网站在线电影动漫 | 亚洲专区一路线二| 亚洲午夜激情视频|