PL/SQL,通过验证向表插入新数据
创建了一个简单的PL/sqlPL/SQL,通过验证向表插入新数据,sql,oracle,plsql,Sql,Oracle,Plsql,创建了一个简单的PL/sql CREATE OR REPLACE PROCEDURE Insert_Invoice( inv_number IN NUMBER, cust_id IN NUMBER, date_in DATE, date_out DATE, Sub_tot IN NUMBER, tax IN NUMBER, total IN NUMBER) IS BEGIN INSERT INTO INVOICE VALUES( i
CREATE OR REPLACE PROCEDURE Insert_Invoice(
inv_number IN NUMBER,
cust_id IN NUMBER,
date_in DATE,
date_out DATE,
Sub_tot IN NUMBER,
tax IN NUMBER,
total IN NUMBER) IS
BEGIN
INSERT INTO INVOICE VALUES( inv_number, cust_id, date_in,date_out,
Sub_tot,tax,total);
COMMIT;
END Insert_Invoice;
我发现ORA-06550在第1行第7列有一个错误
PLS-00201,必须声明识别人“插入发票”
但我在网站上遵循了这个例子,但它仍然不起作用。这不是我的结构问题吗?我在PL/SQL中的
end
语句中没有看到过程名称。试着把它放在评论中:
BEGIN
INSERT INTO INVOICE VALUES( inv_number, cust_id, date_in,date_out,
Sub_tot,tax,total);
COMMIT;
END; -- Insert_Invoice
底部的1已经有了尾端插入,不是吗?@GordonLinoff,真奇怪。对我来说(11gR2),它与end语句上的过程名一起工作(正如预期的那样)。@FrankSchmitt。很高兴知道。我将过程名称作为注释,因为SQL的其他版本不允许标记的
end
s,所以我没有在Oracle中尝试过。您的代码按照预期进行编译和工作。请发布显示问题的真实代码。