軟體印象

          Kavin
          posts - 13, comments - 0, trackbacks - 0, articles - 0

          2013年2月4日

           

          DECLARE
            v_test_varray VARCHAR_VARRAY_TYPE := VARCHAR_VARRAY_TYPE('57610',
                                                                     '61368',
                                                                     '73111',
                                                                     '37208',
                                                                     '57639');
                                                                     
          V_SQL        VARCHAR2(32767);
              V_SQL_IN     VARCHAR2(32767);
              V_SQL_ROWNUM VARCHAR2(32767);
              V_ORDER      VARCHAR2(32767);
              TYPE number_index_by_string IS TABLE OF NUMBER INDEX BY VARCHAR2(10);
              v_evt_id_list  NUMBER_INDEX_BY_STRING;
              
          Begin
            --orderArray VARCHAR_VARRAY_TYPE%type := VARCHAR_VARRAY_TYPE('11','22','33','44','55');

          /*  
            FOR i IN v_test_varray.FIRST .. v_test_varray.LAST LOOP
              IF v_test_varray.EXISTS(i) THEN
                DBMS_OUTPUT.put_line(i);
              END IF;
            END LOOP;
            
          */
            
            V_ORDER := Func_LIST_TO_ORDER(v_test_varray, 'A.COL_NAME');
            DBMS_OUTPUT.put_line('V_ORDER='||V_ORDER);
            
            V_SQL := 'SELECT * FROM TABLEA A'
                     || ' WHERE '
                     || ''
                     || ''
                     || ''
                     || ''
                     ;
            V_SQL := V_SQL || ' ( ' ||
                         FUNC_LIST_TO_IN_SQL(v_test_varray,
                                              'COL_NAME',
                                              ''''|| ')';
              V_SQL := V_SQL  ||
                       ' ORDER by ( ' || V_ORDER || ')';
                       
            DBMS_OUTPUT.put_line('V_SQL='||V_SQL);

          --- SET v_evt_id_list number_index_by_string

          FOR i IN v_test_varray.FIRST .. v_test_varray.LAST
            LOOP
               IF v_test_varray.EXISTS (i)
               THEN
                  DBMS_OUTPUT.put_line (i);
                  v_evt_id_list(v_test_varray(i)) := i;
               END IF;
            END LOOP;
            
          --- TEST v_evt_id_list number_index_by_string
            FOR i IN v_evt_id_list.FIRST .. v_evt_id_list.LAST
            LOOP
               IF v_evt_id_list.EXISTS (i)
               THEN
                  DBMS_OUTPUT.put_line (i||' = '||v_evt_id_list(i) );
               END IF;
            END LOOP;
            
          -- GET v_evt_id_list number_index_by_string
            DBMS_OUTPUT.put_line (v_evt_id_list('73111') );

          posted @ 2013-02-04 16:47 Kavin 閱讀(243) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 奉新县| 剑河县| 江津市| 明星| 中超| 沈丘县| 勃利县| 儋州市| 革吉县| 河南省| 栾川县| 龙州县| 汨罗市| 台前县| 博兴县| 虞城县| 龙岩市| 宜黄县| 侯马市| 密云县| 保山市| 金堂县| 宁波市| 阿图什市| 方正县| 基隆市| 揭西县| 大兴区| 板桥市| 弋阳县| 仲巴县| 嘉荫县| 大冶市| 同德县| 德化县| 青岛市| 进贤县| 汨罗市| 新密市| 革吉县| 蓬安县|