【发布时间】:2018-07-18 11:14:42
【问题描述】:
我已经在一个包中创建了程序...在 TOAD 中编译时,没有错误,但在提交我的 jsp 页面后它显示
""包体 "USERINFO.FORM_PKG" 有错误 ORA-06508: PL/SQL: could 找不到被调用的程序单元:“USERINFO.FORM_PKG”“”
CREATE OR REPLACE PACKAGE form_pkg AS -- package body
PROCEDURE Insert_receipts(
p_receipt NUMBER,
p_transaction NUMBER,
p_amount NUMBER);
PROCEDURE Insert_stkqntys(
p_itemid NUMBER,
p_date VARCHAR2,
p_supplier VARCHAR2,
p_type VARCHAR2,
p_transaction NUMBER,
p_quantity NUMBER);
END form_pkg;
/
CREATE OR REPLACE PACKAGE BODY form_pkg AS -- package body
PROCEDURE Insert_receipts (
p_receipt NUMBER(6),
p_transaction NUMBER(5),
p_amount NUMBER(10),
seq_value NUMBER) IS
BEGIN
INSERT INTO receipt
( ID, Receipt_Number,Transaction_ID,Amount)
VALUES (seq.nextval, p_receipt, p_transaction, p_amount);
END Insert_receipts
;
PROCEDURE Insert_stkqntys
(
p_itemid NUMBER(8),
p_date VARCHAR2(50),
p_supplier VARCHAR2(50),
p_type VARCHAR2(50),
p_transaction NUMBER(8),
p_quantity NUMBER,
seq_value NUMBER) IS
BEGIN
INSERT INTO stock_quantity(ID,Item_ID,Date_Received,Supplier_Challan,Transaction_Type,Transaction_ID,Quantity)VALUES (seq.nextval, p_itemid, p_date,p_supplier,p_type,p_transaction,p_quantity);
END Insert_stkqntys;
End form_pkg;
/
【问题讨论】:
-
请看详情:
select * from user_errors where name = upper('form_pkg') -
你不能定义参数的限制 - 删除字符的长度/数字的特异性。
-
我看到了不同的声明:
PROCEDURE Insert_receipts(p_receipt NUMBER,和PROCEDURE Insert_receipts (p_receipt NUMBER(6)- 请注意6。包及其主体必须具有相同的过程/函数声明 -
是属于用户信息
-
在写入 select * from user_errors where name = upper('form_pkg') 后出现错误我收到错误为 PLS-00103:在预期以下情况之一时遇到符号“(”::=。 ) , @ % 默认字符符号 ":=" 被替换为 "(" 以继续。在行号 5,6,7,18,19,20,21,22
标签: sql oracle plsql plsql-package