刚写了一个存储过程,接口如下:
create or replace procedure PROCEDURE_HOLDWAIT(
PA_INVOICENO IN T_INVOICEDETAIL.ORDERNO%TYPE,
PA_USER_ID IN T_INVOICE.Upd_Userid%TYPE,
PA_EMAILADDRESS OUT M_LOGIN.EMAIL%TYPE
)
AS想用plsql developer测试以下,在test script中,输入如下。
declare
email M_LOGIN.EMAIL%TYPE;
invoiceno T_INVOICEDETAIL.ORDERNO%TYPE;
userid T_INVOICE.Upd_Userid%TYPE;
invoiceno = 9008;
userid = 'user01';
begin
-- Call the procedure
PROCEDURE_HOLDWAIT.procedure_holdwait(invoiceno,userid,pgid,email);
end;结果一运行,报错说是变量无效。
为了测试这个存储过程,如何来写declare呢?
create or replace procedure PROCEDURE_HOLDWAIT(
PA_INVOICENO IN T_INVOICEDETAIL.ORDERNO%TYPE,
PA_USER_ID IN T_INVOICE.Upd_Userid%TYPE,
PA_EMAILADDRESS OUT M_LOGIN.EMAIL%TYPE
)
AS想用plsql developer测试以下,在test script中,输入如下。
declare
email M_LOGIN.EMAIL%TYPE;
invoiceno T_INVOICEDETAIL.ORDERNO%TYPE;
userid T_INVOICE.Upd_Userid%TYPE;
invoiceno = 9008;
userid = 'user01';
begin
-- Call the procedure
PROCEDURE_HOLDWAIT.procedure_holdwait(invoiceno,userid,pgid,email);
end;结果一运行,报错说是变量无效。
为了测试这个存储过程,如何来写declare呢?
create or replace procedure PROCEDURE_HOLDWAIT(
PA_INVOICENO IN T_INVOICEDETAIL.ORDERNO%TYPE,
....
)
AS
------>这是以前通过的一个:
PROCEDURE xxx_xxx(
iv_jigyocode IN VARCHAR2,
on_status OUT NUMBER,
ov_message OUT VARCHAR2,
on_oraerrcode OUT NUMBER,
ov_oraerrm OUT VARCHAR2
)
IS
---------------------
DECLARE
iv_jigyocode VARCHAR2(100);
on_status NUMBER;
ov_message VARCHAR2(100);
on_oraerrcode NUMBER;
ov_oraerrm VARCHAR2(100);
BEGIN
xxx_xxx(iv_jigyocode ,
on_status ,
ov_message,
on_oraerrcode,
ov_oraerrm);
DBMS_OUTPUT.PUT_LINE(iv_jigyocode || TO_CHAR(on_status) || ov_message || TO_CHAR(on_oraerrcode) ||
ov_oraerrm);
END;
/
我对存储过程的语法也不记太清楚了,但你的过程中定义3个变量,
PA_INVOICENO IN T_INVOICEDETAIL.ORDERNO%TYPE,
PA_USER_ID IN T_INVOICE.Upd_Userid%TYPE,
PA_EMAILADDRESS OUT M_LOGIN.EMAIL%TYPE
调试传入4个
PROCEDURE_HOLDWAIT.procedure_holdwait(invoiceno,userid,pgid,email);
好像有问题吧!