我试图创建一个可以计算两个日期之间天数的软件包,我知道我可能已经错了这个里程,我真的很难解决这个问题。我的知识在oracle上很低,我还是很陌生。我写的包裹如下,但我收到的错误显示在底部。
如何解决此问题?
CREATE OR REPLACE PACKAGE PACKNAME
AS
FUNCTION TIME_SCALE RETURN NUMBER;
END;
/
CREATE OR REPLACE PACKAGE BODY PACKNAME
AS closed_date := '28-APR-14'
FUNCTION TIME_SCALE RETURN NUMBER;
IS BEGIN
TRUNC(mrc.closed_date - mrc.open_date) AS days_difference FROM TASKS mrc;
END;
Error at line 2: PLS-00103: Encountered the symbol "=" when expecting one of the following: constant exception <an identifier> <a double-quoted delimited-identifier> table long double ref char time timestamp interval date binary national character nchar
我已经取代了一些名字,让你更清楚地阅读。
该功能用于输出完成任务所需的天数。这些列基本上包括date_opened和date_closed,简单的术语以及其他一些我认为是序列的唯一ID。
答案 0 :(得分:2)
试试这个:
CREATE OR REPLACE PACKAGE PACKNAME
AS
FUNCTION TIME_SCALE
RETURN NUMBER;
END;
/
CREATE OR REPLACE PACKAGE BODY PACKNAME
AS
closed_date VARCHAR2(50):= '28-APR-14';
days_difference NUMBER;
FUNCTION TIME_SCALE
RETURN NUMBER
IS
BEGIN
SELECT TRUNC(mrc.closed_date - mrc.open_date) INTO days_difference
FROM TASKS mrc;
RETURN days_difference;
END;
END;
出了什么问题:
1)您错过了closed_date的类型
2)你有一个&#39 ;;&#39;在函数声明中返回NUMBER后
3)你错过了函数
中的SELECT子句
4)您错过了包裹的结束