本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0

          create or replace package body peidw_test as
          procedure createJob as?
          ????? jobid number;
          ????? v_sql varchar2(2000);
          ? begin
          ????? v_sql:='begin
          ????? if to_char(sysdate,''HH24:MI'')=''15:30'' then
          ??????????????????? select * from test;
          ??????????????????? dbms_output.put_line(''inserted success'');
          ???????????????? end if;
          ???????????????? commit;
          ????????????? exception
          ???????????????? when others then
          ???????????????? rollback;
          ???????????????? dbms_output.put_line(SQLERRM);
          ????????????? end;
          ???????????? ';

          ????? dbms_job.submit(jobid,v_sql,sysdate,'sysdate+1/1440');
          ????? dbms_job.run(jobid);
          ????? dbms_output.put_line('job'||to_char(jobid)||' is running');
          ?? end createJob;
          procedure selectAddr_alias(addrid in number,arecord out cur_talias ) as
          ???
          begin
          ??? open arecord for
          ??? select al_id ,al_name from addr_alias where addr_id=addrid;
          end selectAddr_alias;

          procedure curtest as
          cursor cur_sel_addrAlias is
          ? select al_id,al_name from addr_alias ;
          ? alias TAlias;
          begin
          ???? --open cur_sel_addrAlias ;
          ???? /*
          ???? fetch cur_sel_addrAlias into alias;
          ???? loop
          ???????? exit when cur_sel_addrAlias%notfound;
          ???????? dbms_output.put_line(alias.id||'----'||alias.AL_NAME);
          ???? end loop;
          ???? */
          ???? /*
          ???? fetch cur_sel_addrAlias into alias;
          ???? while cur_sel_addrAlias%found? loop
          ???????? dbms_output.put_line(alias.id||'----'||alias.AL_NAME);
          ???????? fetch cur_sel_addrAlias into alias;
          ???? end loop;

          ???? */
          ???? /*
          ????
          ???? for idx in cur_sel_addrAlias loop --使用這方式遍歷游標不能先打開游標變量
          ???????? dbms_output.put_line(idx.al_id||'----'||idx.al_name);
          ???? end loop;
          ???? close cur_sel_addrAlias;
          ???? */
          ???? dbms_output.put_line('....避免顯式身明游標....');
          ???? for idx in (select * from addr_alias) loop
          ??????? dbms_output.put_line(idx.al_id||'---'||idx.al_name||'---'||idx.addr_id);
          ???? end loop;
          exception
          ? when? others then
          ??? dbms_output.put_line(sqlerrm);
          end curtest;
          end peidw_test;
          ---------------------------------------------------------------------

          無聊今天看了一下oracle 9i開發人同指南,好久沒寫pl/sql了,今天主要看游標這一章。
          顯式游標有4個屬性
          ???? %found? 指明是否取到了指定的記錄行
          ?????????用于判定是否取到一條記錄,取到返回true,如果fetch沒取到任何行,就返回false。
          ???? %isopen 指明游標是打開的還是關閉的
          ?????????用于檢查游標是否打開,游標打開了就返回true,未打開返回false。
          ???? %notfound
          ?????????? 指示fetch是否失敗或是否還有可取的記錄行
          ???? %rowcount 指明總共取得多少行記錄


          參數游標:
          定義
          ? cursor cur_sel_addrAliasByid(vaddr_id number) is
          ???????? select al_id,al_name from addr_alias where addr_id=vaddr_id;
          使用
          ???? open cur_sel_addrAliasByid(1);
          ???? fetch cur_sel_addrAliasByid into alias ;
          ???? while cur_sel_addrAliasByid%found loop
          ???????? dbms_output.put_line(alias.id||'----'||alias.AL_NAME);
          ???????? fetch cur_sel_addrAliasByid into alias;
          ???? end loop;
          ???? close cur_sel_addrAliasByid;
          Select for Update 游標
          ?? 用來更新游標所檢索到的記錄如:
          declare
          ??? cursor cur_1 is?
          ????? select al_id,al_name form addr_alias for update of al_name;
          ???? vname varchar2(50)
          begin
          ?? for idx in cur_1 loop
          ???????? vname:=upper(idx.al_name);
          ???????? upate? addr_alias set al_name=vname where current of cur_1;
          ? end loop;

          commit;
          end;???

          posted on 2006-09-07 18:11 有貓相伴的日子 閱讀(360) 評論(0)  編輯  收藏 所屬分類: pl/sql
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 霸州市| 绥宁县| 荆州市| 固阳县| 龙胜| 长宁区| 类乌齐县| 阳城县| 赤峰市| 德保县| 洛隆县| 长宁县| 宜兰市| 西乌| 鹿泉市| 伽师县| 平安县| 榆树市| 西乌珠穆沁旗| 静乐县| 丰原市| 东莞市| 大石桥市| 贵德县| 徐汇区| 麟游县| 汪清县| 昭通市| 睢宁县| 昆明市| 扎兰屯市| 渭南市| 石家庄市| 平江县| 巫山县| 安宁市| 桐梓县| 盐津县| 博白县| 洛南县| 四川省|