CREATE OR replace FUNCTION Ord_ship_se (p_basketid IN bb_basket.idbasket%TYPE)
RETURN VARCHAR2
IS
lv_stat VARCHAR2(10);
lv_numdays CHAR;
lv_ordered bb_basket.dtordered%TYPE;
lv_created bb_basket.dtcreated%TYPE;
BEGIN
SELECT dtcreated,
dtordered
INTO lv_created, lv_ordered
FROM bb_basket
WHERE p_basketid = idbasket;
lv_numdays := To_char(lv_created - lv_ordered);
IF lv_numdays = 1 THEN
lv_stat := 'OK';
ELSE
lv_stat := 'CHECK';
END IF;
RETURN lv_stat;
END;
上面的代码计算了创建日期和发货日期之间的天数。我正在尝试创建一个匿名块来测试结果。
表中的idstage
列BB_BASKETSTATUS
表示一个发货项目,值为 5,该DTSTAGE
列是发货日期。表格的dtordered
列BB_BASKET
是订单日期。
这是我到目前为止所拥有的
DECLARE
lv_numDays CHAR;
lv_stat VARCHAR2(12);
BEGIN
lv_stat := ORD_SHIP_SE(lv_numDays);
DBMS_OUTPUT.PUT_LINE(lv_stat);
END;
为什么我不断收到错误ORA-01403: no data found at line 10 in ord_ship_se
?