Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
          ??? 今天想寫一個PLSQL的函數,需要實現遞歸,以前一直都沒有在PLSQL里用過遞歸,上網查了一下發現PLSQL確實可以實現遞歸的,貼個網上的例子:
          ?
          ?
          SQL> create or replace function get_char_one_by_one(v_str varchar2)
          ? 2??? return varchar2 is
          ? 3? begin
          ? 4??? if v_str is not null and length(v_str) > 1 then
          ? 5????? return substr(v_str, 1, 1) || ' ' || get_char_one_by_one(substr(v_str, 2));
          ? 6??? else
          ? 7????? return v_str;
          ? 8??? end if;
          ? 9? end;
          ?10? /
          ?
          Function created
          ?
          SQL> select get_char_one_by_one('I am good boy') from dual;
          ?
          GET_CHAR_ONE_BY_ONE('IAMGOODBO
          -------------------------------------------
          I?? a m?? g o o d?? b o y
          ?
          ?

          ??? 自己隨便寫一個練練手,列出每個以','分開的字符部分:
          ?
          SQL> create or replace function get_part(v_char in varchar2) return varchar2 is
          ? 2??? v_temp??????? integer;
          ? 3??? v_insert_char varchar2(1000);
          ? 4? begin
          ? 5??? v_temp??????? := instr(v_char, ',', 1);
          ? 6??? v_insert_char := substr(v_char, 1, v_temp - 1);
          ? 7??? if v_temp > 0 then
          ? 8????? dbms_output.put_line(v_insert_char);
          ? 9????? return get_part(substr(v_char, v_temp + 1));
          ?10??? else
          ?11????? dbms_output.put_line(v_char);
          ?12????? return null;
          ?13??? end if;
          ?14? end;
          ?15? /
          ?
          Function created
          ?
          SQL> select get_part('42342fesh,43rfddfg,t35greg4,f43g54') from dual;
          ?
          GET_PART('42342FESH,43RFDDFG,T
          -----------------------------------------------
          ?
          42342fesh
          43rfddfg
          t35greg4
          f43g54




          -The End-

          posted on 2009-01-28 22:29 decode360-3 閱讀(350) 評論(0)  編輯  收藏 所屬分類: SQL Dev
          主站蜘蛛池模板: 新巴尔虎左旗| 巴青县| 牙克石市| 蒙自县| 观塘区| 元阳县| 宁德市| 盐源县| 夏津县| 黔南| 大渡口区| 南昌县| 日照市| 昭觉县| 教育| 寿阳县| 白城市| 霍州市| 孟连| 贵德县| 子长县| 敦煌市| 宝应县| 余江县| 新昌县| 伊宁市| 革吉县| 泸溪县| 桂阳县| 汾西县| 宜君县| 射阳县| 嘉黎县| 井冈山市| 突泉县| 寿宁县| 当阳市| 佛坪县| 东乌珠穆沁旗| 安达市| 芒康县|