寫了一個簡單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語法問題。
待我覈實下