2013-12-12 106 views
-1

這是我的代碼。PL/SQL函數幫助返回總數

CREATE OR REPLACE FUNCTION estimated_hours (sno NUMBER) 
RETURN NUMBER IS 
return_var NUMBER; 
BEGIN 
SELECT COUNT (*) 
FROM task 
WHERE planned_start_date > change_date 

GROUP BY stage_id 


RETURN return_var; 
END; 
/

我是新來的數據庫,我不知道什麼是做錯了。即時通訊嘗試計算並返回在某個特定階段的估計小時總數,然後再進行小時數的變化。

回答

0

你需要把選擇的結果某處:

SELECT COUNT (*) 
    INTO return_var -- you are missing this 
FROM task 
WHERE planned_start_date > change_date 
GROUP BY stage_id; -- and you are missing the statement terminator ; here 

你應該去通過PL/SQL手冊,以瞭解更多細節:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/static.htm#LNPLS006

+1

可能不希望在GROUP BY因爲它可能會返回多行,我想。 –

+0

@DavidAldridge:顯然,是的。感謝提示 –