【发布时间】:2018-04-20 09:57:29
【问题描述】:
我需要创建一个程序,允许用户输入订单信息(如下所示),以及 n 个子订单(其中 2 ≤ n ≥ 10)。我如何能够将其纳入我已有的程序中?我正在使用 SQLPlus。任何帮助或建议将不胜感激。 :)
CREATE OR REPLACE PROCEDURE VIEW_ORDER(ORDERS IN CHAR)
AS
CURSOR ORDER_CUR IS
SELECT * FROM SUBORDERS
WHERE ORDER_NO = ORDERS;
BEGIN
FOR O_REC IN ORDER_CUR
LOOP
DBMS_OUTPUT.PUT_LINE('Product Code: ' || O_REC.prod_id
|| ' Order: ' || O_REC.order_no
|| ' Suborder: ' || O_REC.suborder_no
|| ' Quantity: ' || O_REC.quantity);
END LOOP;
EXCEPTION
WHEN no_data_found THEN
DBMS_OUTPUT.PUT_LINE ('Product number does not exist');
WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('Operation failed ' || 'SQLCODE: ' || SQLCODE);
ROLLBACK;
END;
/
【问题讨论】:
-
编写一个匿名块并检查其中 n 的验证,然后在其中调用您的现有过程。
-
您不能在 where 中进行双重比较。您必须使用
and进行操作。像这样:where 2<=n and n<=10