我的程序是这样的:
CREATE OR replace PROCEDURE rs_pes (c1 IN OUT SYS_REFCURSOR,
pi_prod_type_code IN VARCHAR2,
pi_entry_date IN VARCHAR2,
pi_dealer IN VARCHAR2,
pi_adv IN VARCHAR2 )
而且,我试图像这样执行它:
execute RS_PES('Investments Series 2',
'31-12-2012',
'All Dealer',
'All Adv')
我的语法错误不正确。
ORA-00900: Invalid SQL statement
00900.00000 - Invalid SQL statement
我做错了什么,如何执行此操作?我是甲骨文的新手。
答案 0 :(得分:0)
Execute是一个SQL * Plus命令,它基本上围绕BEGIN / END语句包装程序调用。除了SQL * Plus
之外,其他任何地方都无法工作如果要在Oracle SQL Developer中执行该过程,请将其包装在BEGIN / END块
中BEGIN
RS_PES('Investments Series 2',
'31-12-2012',
'All Dealer',
'All Adv');
END;
此外,您的程序有5个参数,而您只需设置4.您需要修复此问题。