本站不再更新,歡迎光臨 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開發技術網
          主站蜘蛛池模板: 瓮安县| 防城港市| 旅游| 双峰县| 安阳市| 牙克石市| 浮山县| 巨野县| 潞西市| 朝阳区| 湟中县| 金山区| 南宫市| 南丹县| 阜新| 双城市| 英山县| 遵义县| 镇雄县| 房山区| 墨脱县| 佛坪县| 牟定县| 佛教| 德江县| 湘潭县| 龙泉市| 乌审旗| 竹北市| 醴陵市| 同江市| 永胜县| 扶余县| 泽普县| 綦江县| 秦皇岛市| 揭阳市| 东乡族自治县| 新乐市| 土默特左旗| 浑源县|