-1

需要快速帮助当我运行这个函数时,我没有得到我需要的值,但是当我单独运行选择查询时,我得到了我想要的结果

例如,当我输入 clid = 108xxx 我应该得到 subid = 356xxx

create or replace FUNCTION get_subid(clid IN NUMBER ) 
   RETURN NUMBER
   AS subid NUMBER;
   BEGIN 
      for c1 in (SELECT SUBJECTID
                  FROM "SubjectXClient"
                  WHERE CLID = clid
                  order by SUBJECTID desc) loop
          subid := c1.SUBJECTID;
          exit;
      end loop;    
      RETURN subid ;
   END ;
4

1 回答 1

0

我的猜测是您的 WHERE 子句忽略了函数的参数,因为它与列的名称完全相同。重命名参数并重试。

于 2017-08-01T17:45:05.300 回答