写了一个简单oracle 的function ,在PL/SQL中,逻辑类似如下:
create or replace function getClassinfoAmount(chnlid in number) return number is
FunctionResult number;
temp_amount number:=0;
begin
select
COUNT(*) INTO temp_amount
from
wcmchnldoc
where
docchannel=chnlid;
DBMS_OUTPUT.PUT_LINE(temp_amount);
return temp_amount;
end getClassinfoAmount;
就是传入一个chnlid参数,然后通过select语句去查数量,但每次查出来的都是总数量,限时条件并没有起作用。也输出过,百思不得其解
解决方法:
在声明那里加一句: t number:=chnlid; 将参数先赋值给t
select语句的where条件改为 docchannel=t;
可得正确结果。
问题:1、可能是我PL/SQL版本问题。
2、可能是ORACLE语法问题。
待我核实下