你好我是oracledb的新手,怎么能简单地要求最长日期呢?
FUNCTION get_max_date_rec(
i_value_date IN vat.value_date%TYPE := app_utilities_q.server_sys_date )
RETURN vat.rec_id%TYPE
IS
v_date vat.value_date%TYPE;
BEGIN
SELECT MAX(v.value_date)--compiler err
INTO v_date
FROM vat v
WHERE v.value_date < i_value_date
RETURN get_rec_by_date(v_date).rec_id;--compiler err
END get_max_date_rec;
编辑这是编译器创建的错误错误(76,7(:PL/SQL:SQL语句被忽略错误(81,7(:PL/SQL:ORA-00933:SQL命令未正确结束
我想将rec_id返回为上面的writen。。。
FUNCTION get_max_date_rec(
i_value_date IN vat.value_date%TYPE
default app_utilities_q.server_sys_date -- assuming this is a default
)
RETURN vat.rec_id%TYPE
IS
v_date vat.value_date%TYPE;
BEGIN
SELECT MAX(v.value_date)--compiler err
INTO v_date
FROM vat v
WHERE v.value_date < i_value_date
RETURN v_date;
END get_max_date_rec;
一个风险是,如果vat
中不存在日期大于i_value_date
的记录,则代码将失败,从而引发NO_DATA_FOUND
异常。你应该考虑一下你可能希望如何处理这种情况——或者不处理它,如果这是正确的做法的话
问题是不添加
;
在选择的最后
SELECT MAX(v.value_date)--compiler err
INTO v_date
FROM vat v
WHERE v.value_date < i_value_date ;