C#执行Oracle存储过程报错
参数数量没错,类型没错
错误是:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'SP_ADDORDERS'
ORA-06550: line 1, column 7:
存储过程是:
create or replace PROCEDURE SP_ADDORDERS ----新建委托单
(
P_ORDERNUM IN NVARCHAR2,
P_EXPERINAME IN NVARCHAR2,
P_CONTRACTNUM IN NVARCHAR2,
P_BATCHNUM IN NVARCHAR2,
P_BALENUM IN NVARCHAR2,
P_SPECIMENNAME IN NVARCHAR2,
P_PARTNUM IN NVARCHAR2,
P_SAMPLEAMOUNT IN NUMBER,
P_FACILITYNAME IN NVARCHAR2,
P_FACILITYMODELNUM IN NVARCHAR2,
P_FACILITYCODE IN NVARCHAR2,
P_FACILITYINDATE IN NVARCHAR2,
P_TESTTYPE IN NVARCHAR2,
P_TESTINGPROJECT IN NVARCHAR2,
P_TESTBASIS IN NVARCHAR2,
P_ENTRUSTREQUIRE IN NVARCHAR2,
P_ENTRUSTUNITS IN NVARCHAR2,
P_ENTRUSTADDRESS IN NVARCHAR2,
P_ENTRUSCONTACTINFO IN NVARCHAR2,
P_DEPARTMENT IN NVARCHAR2,
P_ISRESERVEDSAMPLE IN NVARCHAR2,
P_RESERVEDDATE IN DATE,
P_ORDERSTATUS IN NVARCHAR2,
P_REMARK IN NVARCHAR2,
P_ExperimentType IN NUMBER,
P_TestEngineer in NVARCHAR2,
P_CREATETIME IN DATE,
P_RECEIVEDATE IN DATE,
retValue OUT NUMBER --返回值 0:增加失败 1:插入成功 2.单号已存在
)
IS
colNUM NUMBER;
BEGIN
SELECT COUNT (*)
INTO colNUM
FROM T_BUSINESS_ORDERS
WHERE ORDERNUM = P_ORDERNUM;
IF colNUM = 0
THEN
INSERT INTO T_BUSINESS_ORDERS (ID,
ORDERNUM,
EXPERINAME,
CONTRACTNUM,
BATCHNUM,
BALENUM,
SPECIMENNAME,
PARTNUM,
SAMPLEAMOUNT,
FACILITYNAME,
FACILITYMODELNUM,
FACILITYCODE,
FACILITYINDATE,
TESTTYPE,
TESTINGPROJECT,
TESTBASIS,
ENTRUSTREQUIRE,
ENTRUSTUNITS,
ENTRUSTADDRESS,
ENTRUSCONTACTINFO,
DEPARTMENT,
ISRESERVEDSAMPLE,
RESERVEDDATE,
ORDERSTATUS,
REMARK,
EXPERIMENTTYPE,
TESTENGINEER,
CREATETIME,
RECEIVEDATE)
VALUES (SEQ_BUSINESS_ORDERSID.NEXTVAL,
P_ORDERNUM,
P_EXPERINAME,
P_CONTRACTNUM,
P_BATCHNUM,
P_BALENUM,
P_SPECIMENNAME,
P_PARTNUM,
P_SAMPLEAMOUNT,
P_FACILITYNAME,
P_FACILITYMODELNUM,
P_FACILITYCODE,
P_FACILITYINDATE,
P_TESTTYPE,
P_TESTINGPROJECT,
P_TESTBASIS,
P_ENTRUSTREQUIRE,
P_ENTRUSTUNITS,
P_ENTRUSTADDRESS,
P_ENTRUSCONTACTINFO,
P_DEPARTMENT,
P_ISRESERVEDSAMPLE,
P_RESERVEDDATE,
P_ORDERSTATUS,
P_REMARK,
P_ExperimentType,
P_TestEngineer,
P_CREATETIME,
P_RECEIVEDATE);
IF (SQL%ROWCOUNT) > 0
THEN
retValue := 1;
ELSE
retValue := 0;
END IF;
COMMIT;
ELSE
retValue := 2;
END IF;
COMMIT;
END SP_ADDORDERS;