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

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

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

    積少成多

    垃圾堆

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      29 Posts :: 1 Stories :: 5 Comments :: 0 Trackbacks

    下面的方法提供了比較好的數據庫分割字符串的方法。不要在每次需要這種功能的地方各寫一個,統一的工具類非常重要。更能排除以下低級的錯誤。
    create
     or replace
    PACKAGE pk_genutilitypkg
    AS
       
    /*

       Generic String Parser: provide a delimiter and it returns an
       index-by table of the individual elements of the string that are
       separated by the specified delimiter.

       Author: "GAUTHAM CHANDRASEKARAN" <gautha@hotmail.com>
       
    */
       TYPE t_string 
    IS TABLE OF VARCHAR2(2000)
          
    INDEX BY BINARY_INTEGER;

       m_ctr 
    NUMBER(5);
       m_pos 
    NUMBER(5);

       
    PROCEDURE sp_parsestring (
          p_string 
    IN VARCHAR2,
          delimiter 
    IN VARCHAR2,
          p_t_string OUT t_string);
    END pk_genutilitypkg;
      
    create or replace
    PACKAGE BODY pk_genutilitypkg
    AS

       
    PROCEDURE sp_parsestring (
          p_string 
    IN VARCHAR2,
          delimiter 
    IN VARCHAR2,
          p_t_string OUT t_string)
       
    IS
          m_string 
    VARCHAR2(4000);
       
    BEGIN
          
    /* Raise a Error if the length of the delimiter is not 1 */
          
    IF LENGTH (delimiter) != 1
          
    THEN
             raise_application_error (
    -20001,
                 
    'Delimiter should be of only one character');
             
    RETURN;
          
    END IF;
          m_string :
    = p_string;
          m_ctr :
    = 1;
          LOOP
             m_pos :
    = INSTR (m_string, delimiter);
             
    IF m_pos > 1
             
    THEN
                p_t_string (m_ctr) :
    = LTRIM(RTRIM( SUBSTR (m_string, 1, m_pos - 1) ));
                
    IF (m_pos < LENGTH (m_string))
                
    THEN
                   m_string :
    = SUBSTR (
                                  m_string,
                                  m_pos 
    + 1,
                                  LENGTH (m_string) 
    - m_pos
                               );
                ELSIF m_pos 
    = LENGTH (m_string)
                
    THEN
                   m_ctr :
    = m_ctr + 1;
                   p_t_string (m_ctr) :
    = NULL;
                   
    EXIT;
                
    END IF;
             ELSIF m_pos 
    = 1
             
    THEN
                p_t_string (m_ctr) :
    = NULL;
                
    IF m_pos < LENGTH (m_string)
                
    THEN
                   m_string :
    = SUBSTR (
                                  m_string,
                                  m_pos 
    + 1,
                                  LENGTH (m_string) 
    - m_pos
                               );
                ELSIF m_pos 
    = LENGTH (m_string)
                
    THEN
                   m_ctr :
    = m_ctr + 1;
                   p_t_string (m_ctr) :
    = NULL;
                   
    EXIT;
                
    END IF;
             ELSIF m_pos 
    = 0
             
    THEN

                p_t_string (m_ctr) :
    = LTRIM(RTRIM( m_string ));
                
    EXIT;
             
    END IF;
             m_ctr :
    = m_ctr + 1;
          
    END LOOP;
       
    END;
    END pk_genutilitypkg;

    使用方法如下:
    PROCEDURE UseStringParse(
        user_list   
    IN       VARCHAR2
    )
    IS
        userid_list   
    VARCHAR2 (1000) := user_list;
        userlistarray   pk_genutilitypkg.t_string;
        vuserid       
    VARCHAR2 (100);
    BEGIN

        pk_genutilitypkg.sp_parsestring(userid_list, 
    ',', userlistarray);
        
    FOR userindex IN 1 .. userlistarray.COUNT
            loop
            vuserid:
    =userlistarray(userindex);
        
    END LOOP;

    END UseStringParse;


    posted on 2011-06-29 14:43 思無 閱讀(1135) 評論(0)  編輯  收藏 所屬分類: 數據庫

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产亚洲AV手机在线观看| 亚洲中文无码av永久| 久久这里只精品热免费99| 亚洲人成网站18禁止久久影院| 亚洲片一区二区三区| 鲁大师在线影院免费观看| 亚洲av成人一区二区三区观看在线| 亚洲啪啪综合AV一区| 午夜成人免费视频| 免费在线中文日本| 亚洲AV无码片一区二区三区| 亚洲精品自偷自拍无码| 亚洲成在人天堂在线| 日韩精品成人亚洲专区| 亚欧免费视频一区二区三区| 成年大片免费视频播放一级| 中文文字幕文字幕亚洲色| 亚洲成AV人片在线观看ww| 免费成人午夜视频| 免费看韩国黄a片在线观看| 免费黄网站在线看| 2015日韩永久免费视频播放| 免费一级不卡毛片| 国产一卡二卡3卡四卡免费| 日本不卡免费新一区二区三区| 99在线在线视频免费视频观看| 黄页网站免费在线观看| 成年大片免费视频| 免费无码AV片在线观看软件| 日日AV拍夜夜添久久免费| 成人毛片免费观看视频大全| 四虎永久成人免费| 成人免费视频一区| 亚洲国产精品成人网址天堂| www国产亚洲精品久久久日本| 亚洲乱码一区二区三区在线观看| 亚洲爽爽一区二区三区| 亚洲国产中文字幕在线观看| 亚洲av无码乱码国产精品fc2| 亚洲第一极品精品无码久久| 亚洲人成电影在线观看网|