before executing the procedure to enable the DBMS_OUTPUT output?
SQL> set serveroutput on size unlimited;
Of course, if this is real code, you would want your procedure to do something other than write output to the DBMS_OUTPUT buffer since there is no guarantee that the buffer exists or that the client application knows how to read from the buffer or that it has been instructed to read from the buffer.
SQL> set serveroutput on size unlimited; SQL> exec discount;
in SQL*Plus to get a list of the errors.
SQL> show errors;
select order_line.o_id, sum(inv_price*ol_quantity) from customer,inventory,order_line,orders where customer.c_id=orders.c_id and orders.o_id=order_line.o_id and inventory.inv_id=order_line.inv_id group by order_line.o_id;