表如下:
a    b    c
--------------
01   aa   bb
02   cc   dd
03   ee   ff
假如写一个函数aa,要求是给函数的参数是a的值,返回b和c的值。
如果值在a中没有,则返回b,c都返回'00'

解决方案 »

  1.   

    CREATE TABLE  A1  AS (SELECT '01' A,'AA' B,'BB' C FROM DUAL
                          UNION ALL
                          SELECT '02' A,'CC' B,'DD' C FROM DUAL
                          UNION ALL
                          SELECT '03' A,'EE' B,'FF' C FROM DUAL
                          )
    CREATE OR REPLACE PROCEDURE PPPP (P_A VARCHAR2,
                                      P_B OUT VARCHAR2,
                                      P_C OUT VARCHAR2)
    IS
    BEGIN
      IF NVL(P_A,' ') IN (SELECT A FROM A1) THEN
         SELECT B,C INTO P_B,P_C FROM A1 WHERE A=P_A;
      ELSE
         P_B:='00';
         P_C:='00';
      END IF;
    EXCEPTION
      WHEN OTHERS THEN
        NULL;
    END; 
    僅供參考!