<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| 四虎影在线永久免费四虎地址8848aa| 亚洲乱码国产乱码精品精| selaoban在线视频免费精品| 亚洲国产婷婷综合在线精品| 欧洲乱码伦视频免费国产| 最新精品亚洲成a人在线观看| 成av免费大片黄在线观看| 亚洲小说区图片区另类春色| 国产无遮挡裸体免费视频在线观看| 亚洲AV永久青草无码精品| 99精品视频在线观看免费播放| 婷婷精品国产亚洲AV麻豆不片| 日本视频免费高清一本18| 久久青草亚洲AV无码麻豆| 久久狠狠躁免费观看2020| 亚洲成人网在线观看| 成人免费毛片观看| 污视频网站在线免费看| 亚洲成色在线综合网站| 国产成人精品免费视频大| 亚洲av无码一区二区三区人妖| 亚洲国产精品专区在线观看| a级毛片毛片免费观看久潮| 亚洲邪恶天堂影院在线观看| 欧美最猛性xxxxx免费| 男人j进女人p免费视频| 亚洲成AV人片在| 97在线观免费视频观看| 日韩精品无码永久免费网站| 亚洲VA成无码人在线观看天堂 | 亚洲AV无码一区二区大桥未久| 亚洲网站在线免费观看| 亚洲人片在线观看天堂无码| 亚洲一区二区精品视频| 97在线视频免费公开观看| 亚洲a∨无码精品色午夜| 久久精品国产69国产精品亚洲| 毛片基地免费观看| a级毛片毛片免费观看永久| 亚洲三级在线免费观看|