【问题标题】:PL/SQL function help in returning total numbersPL/SQL 函数有助于返回总数
【发布时间】:2013-12-12 12:37:20
【问题描述】:

这是我的代码。

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;
/

我是数据库新手,我不知道做错了什么。我正在尝试计算并返回给定阶段在更改小时数之前的估计总小时数。

【问题讨论】:

    标签: function plsql


    【解决方案1】:

    您需要将选择的结果放在某处:

    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

    【讨论】:

    • 我认为可能不希望 group by 因为它可能返回多行。
    • @DavidAldridge:显然,是的。谢谢提示
    猜你喜欢
    • 2013-05-06
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 2018-04-10
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多