FUNCTION bumon_cd_check(
                             i_kaisha_shikibetsu_cd IN VARCHAR2,                              i_bumon_cd             IN VARCHAR2  
    ) RETURN NUMBER         IS
        v_count     NUMBER;
    BEGIN
    
     
        SELECT count(*) 
          INTO v_count
          FROM A02_BUMON_MST 
         WHERE DELETE_DATE IS NULL 
           AND BUMON_CD = i_bumon_cd
           AND KAISHA_SHIKIBETSU_CD = i_kaisha_shikibetsu_cd;
        
        RETURN v_count;
    
    EXCEPTION
        WHEN OTHERS THEN
            RETURN -1;  
                              
    END bumon_cd_check;这是一个共通调用的小函数,返回值只可能会是1,0,-1,所以在判断时我们只用到了这三个数,
我现在搞不懂的问题就是,用其它程序调用这个小函数时会出现除了1,0,-1以外的值吗?

解决方案 »

  1.   

    什么值???应该是程序的问题吧。你可以用一个OUT参数来代替用返回值。
      

  2.   

    这是一个共通调用的小函数,返回值只可能会是1,0,-1????SELECT count(*) 
              INTO v_count
              FROM A02_BUMON_MST 
             WHERE DELETE_DATE IS NULL 
               AND BUMON_CD = i_bumon_cd
               AND KAISHA_SHIKIBETSU_CD = i_kaisha_shikibetsu_cd;能保证 count(*) 一定是 0 或者 1 么?  不可能吧
      

  3.   

    count(*) INTO v_count 不只返回0和1吧