PL/SQL 需要指导
PL/SQL needing some direction
这就是问题:您想确定在给定您必须花费的金额的情况下可以购买多少特定商品。显然,您需要确定商品价格以及您需要花费的金额。屏幕上的结果应该会告诉您可以购买多少该商品。
这是我创建的table:
SQL> select *
2 from product2;
PIDNO PNAME PCOST
---------- --------------- ----------
1111 Pencil 1
2222 Soda 5
3333 Cards 2
这是代码:
SET SERVEROUTPUT ON
ACCEPT input_money PROMPT 'Enter how much money you have: '
DECLARE
v_pidno product2.pidno%TYPE;
v_pname product2.pname%TYPE;
v_pcost product2.pcost%TYPE;
v_money number(3);
BEGIN
SELECT pidno, pname, pcost
INTO v_pidno, v_pname, v_pcost
FROM product2
WHERE pidno = v_pidno;
V_money :=v_money/v_pcost;
dbms_output.put_line ('How much you can buy is: ' ||v_money);
END;
/
SET SERVEROUTPUT OFF
我也有这样写的代码:
SET SERVEROUTPUT ON
ACCEPT input_pidno PROMPT 'Enter product ID: '
DECLARE
v_pidno product2.pidno%TYPE;
v_pname product2.pname%TYPE;
v_pcost product2.pcost%TYPE;
v_money number(3);
BEGIN
SELECT pidno, pname, pcost
INTO v_pidno, v_pname, v_pcost
FROM product2
WHERE pidno = &input_pidno;
V_money :=v_money/v_pcost;
dbms_output.put_line ('How much you can buy is: ' ||v_money);
END;
/
SET SERVEROUTPUT
我也希望能够输入我有多少钱和 pidno,它会告诉我可以买多少。我只是不知道如何重新表述这段代码。
您正在接受货币数量并将其放入 PIDNO。这可能不是您想要的。尝试类似的东西:
SET SERVEROUTPUT ON
ACCEPT input_money PROMPT 'Enter how much money you have: '
ACCEPT input_pidno PROMPT 'Enter the product ID you want: '
DECLARE
v_pidno product2.pidno%TYPE;
v_pname product2.pname%TYPE;
v_pcost product2.pcost%TYPE;
v_items_to_buy number(3);
BEGIN
SELECT pidno, pname, pcost
INTO v_pidno, v_pname, v_pcost
FROM product2
WHERE pidno = &input_pidno;
v_items_to_buy := &input_money / v_pcost;
dbms_output.put_line ('You can buy ' || v_items_to_buy || ' ' || v_pname);
END;
/
SET SERVEROUTPUT OFF
祝你好运。
这就是问题:您想确定在给定您必须花费的金额的情况下可以购买多少特定商品。显然,您需要确定商品价格以及您需要花费的金额。屏幕上的结果应该会告诉您可以购买多少该商品。
这是我创建的table:
SQL> select *
2 from product2;
PIDNO PNAME PCOST
---------- --------------- ----------
1111 Pencil 1
2222 Soda 5
3333 Cards 2
这是代码:
SET SERVEROUTPUT ON
ACCEPT input_money PROMPT 'Enter how much money you have: '
DECLARE
v_pidno product2.pidno%TYPE;
v_pname product2.pname%TYPE;
v_pcost product2.pcost%TYPE;
v_money number(3);
BEGIN
SELECT pidno, pname, pcost
INTO v_pidno, v_pname, v_pcost
FROM product2
WHERE pidno = v_pidno;
V_money :=v_money/v_pcost;
dbms_output.put_line ('How much you can buy is: ' ||v_money);
END;
/
SET SERVEROUTPUT OFF
我也有这样写的代码:
SET SERVEROUTPUT ON
ACCEPT input_pidno PROMPT 'Enter product ID: '
DECLARE
v_pidno product2.pidno%TYPE;
v_pname product2.pname%TYPE;
v_pcost product2.pcost%TYPE;
v_money number(3);
BEGIN
SELECT pidno, pname, pcost
INTO v_pidno, v_pname, v_pcost
FROM product2
WHERE pidno = &input_pidno;
V_money :=v_money/v_pcost;
dbms_output.put_line ('How much you can buy is: ' ||v_money);
END;
/
SET SERVEROUTPUT
我也希望能够输入我有多少钱和 pidno,它会告诉我可以买多少。我只是不知道如何重新表述这段代码。
您正在接受货币数量并将其放入 PIDNO。这可能不是您想要的。尝试类似的东西:
SET SERVEROUTPUT ON
ACCEPT input_money PROMPT 'Enter how much money you have: '
ACCEPT input_pidno PROMPT 'Enter the product ID you want: '
DECLARE
v_pidno product2.pidno%TYPE;
v_pname product2.pname%TYPE;
v_pcost product2.pcost%TYPE;
v_items_to_buy number(3);
BEGIN
SELECT pidno, pname, pcost
INTO v_pidno, v_pname, v_pcost
FROM product2
WHERE pidno = &input_pidno;
v_items_to_buy := &input_money / v_pcost;
dbms_output.put_line ('You can buy ' || v_items_to_buy || ' ' || v_pname);
END;
/
SET SERVEROUTPUT OFF
祝你好运。