【发布时间】:2021-12-24 07:57:02
【问题描述】:
对于家庭作业,我假设打印出payment_total 和invoice_total 的参数为vendor_id 的过程。它编译但它说声明是错误的我不确定我的语法是否错误或问题是什么。
这是我的代码:
CREATE OR REPLACE PROCEDURE vn_payment(vendorID in number)
IS
DECLARE
payment_total vendors.vendor_id%type;
invoice_total vendors.vendor_id%type;
BEGIN
Select vendor_id from vendors
where vendor_id = vendorID;
DBMS_OUTPUT.PUT_LINE('payment total:' || payment_total || 'and invoice total'
|| invoice_total);
END;
【问题讨论】:
-
去掉“DECLARE”
-
声明变量
payment_total和invoice_total具有列vendor_id的数据类型没有意义,除了您的语法问题(declare用于匿名块,而不是用于程序 - 它替换create or replace procedure ... is片段)。然后:您不应该从表格中选择付款总额和发票总额,而不是供应商ID吗?where子句需要供应商 ID,但不应在select子句中。