logo 西林@生存 - 骑猪闯天下!
自定义:操作及错误 提示
2006-11-25 21:49:00 By:xling

自定义:操作及错误 提示

具体说明看FLASH演示,大小1.88M,

在做的时候,遇到一个问题,在PACKAGE里定义的TYPE,不能在包外使用!

下面是PACKAGE:G_PKG_ERROR里的一个方法,值得注意的是NESTED TABLE (PARA_LIST 在PACKAGE里有声明)的读取方法:

   FUNCTION f_return_message (
      i_error_message   IN   VARCHAR2,
      i_error_code      IN   NUMBER DEFAULT -20001
   )
      RETURN VARCHAR2
   AS
      v_message   VARCHAR2 (300) := NULL;
   V_GUID NUMBER;
   V_P BINARY_INTEGER;
  
   CURSOR CC(I_P_GUID IN NUMBER) IS
      SELECT PARA FROM G_ERROR_CUSTOM_PARA WHERE P_GUID = I_P_GUID ORDER BY SEQ;
   BEGIN
      IF i_error_code < -20000 AND i_error_code > -21000
      THEN
         SELECT info,GUID
           INTO v_message,V_GUID
           FROM g_error_custom
          WHERE INSTR (UPPER (i_error_message), flag) > 0;
   
    IF PARA_LIST IS NOT NULL THEN
      V_P := PARA_LIST.FIRST;
   
     FOR C1 IN CC(V_GUID) LOOP
        EXIT WHEN V_P IS NULL;
        V_MESSAGE := REPLACE(V_MESSAGE,C1.PARA,PARA_LIST(V_P));
      V_P := PARA_LIST.NEXT(V_P);
     END LOOP;
    
    END IF;
      ELSE
         SELECT info
           INTO v_message
           FROM g_error_constraint
          WHERE INSTR (UPPER (i_error_message),
                       owner || '.' || constraint_name
                      ) > 0
            AND ROWNUM = 1;
      END IF;

      RETURN v_message;
   EXCEPTION
      WHEN NO_DATA_FOUND
      THEN
         RETURN NULL;
   END;

演示:

 

源文件及SQL下载:http://files.myopera.com/xlingFairy/soft/1GNO.rar

转我的贴,写你的名,是一种可耻的行为!请不要让我BS你!
阅读全文 | 回复(0) | 引用通告 | 编辑

发表评论:

    密码:
    主页:
    标题:
    页面数据正在载入...
<<  < 2007 - 11 >  >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Placard
1,長江後浪推前浪,前浪死在沙灘上!
2,有了钱的男人,才是真正的男人...
3,不要以为把你的小JJ埋进土里,你就rape了整个地球;不要以为把你的小JJ朝向天空,你就rape了整个宇宙!
Logon System
Search
Info about this blog
Others
myDream
bxna 京ICP备05002321号