【发布时间】:2021-09-11 13:46:40
【问题描述】:
第一次调用程序,我的程序名称如下:
PROCEDURE add_cine(
P_User_Name In Varchar2,
p_c_number IN VARCHAR2,
P_C_Name In Varchar2,
P_C_Id In Varchar2,
P_Ot In Varchar2,
P_It In Varchar2,
p_se IN DATE,
P_Ee In Date,
p_pr IN VARCHAR2,
p_tr IN VARCHAR2,
x_eec OUT NOCOPY VARCHAR2,
x_et OUT NOCOPY VARCHAR2
);
我正在使用 oracleclient 来调用这个过程
当我这样称呼它时:
SQL> exec ADD_cine('xxsihh', '197200_90.27014-156154', '1214','197200_127014-156154', '1', '197200: IPS 1 Term 12mth GB', null, null, '197200', '90.1')
ERROR at line 1:
ORA-06550: line 1, column 216:
PLS-00363: expression '197200' cannot be used as an assignment target
10 个参数有 IN,两个有 OUT,但在调用时我只输入 IN。
我尝试了其他方法,但都一样。知道我是否没有正确传递参数吗?
通过java代码我总是得到:
PLS-00201: identifier 'ADD_CINE' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
我也试过
DECLARE
errcode VARCHAR2;
errmessage VARCHAR2;
BEGIN
ADD_cine('xxsihh', '197200_90.27014-156154', '1214','197200_127014-156154', '1', '197200: IPS 1 Term 12mth GB', null, null, '197200', '90.1',errcode,errcode)
END;
【问题讨论】:
-
你的“也试过”有
errcode,errcode;也就是说,您对两个输出使用相同的变量。你不能这样做,两个输出必须是不同的变量......errcode, errmessage