2014-06-15 38 views
0

我的Oracle程序结构,如何调用Oracle的过程,它具有一个OUT参数

CREATE OR REPLACE PACKAGE BODY NLS_ADMIN."MY_PKG" 
AS 

    PROCEDURE DATA_PRC (oresult OUT NUMBER) 
    IS 
     varKeyValue varchar2(1); 
    BEGIN 
    ... 
    ... 
    END; 

我试图通过下面的语句执行上面的程序调用,

declare 
    oresult NUMBER; 
begin 
    EXECUTE DATA_PRC(oresult); 
end; 

但是,得到下面的异常。请帮助我如何调用这个程序。

ORA-06550: line 8, column 9: 
PLS-00103: Encountered the symbol "DATA_PRC" when expecting one of the following: 

    := . (@ % ; immediate 
The symbol ":=" was substituted for "DATA_PRC" to continue. 
+1

首先,删除执行,它是SQL * Plus命令,不是PL/SQL语句。其次,因为你的过程被放置在一个包中,所以在被引用时('my_pkg.data_prc'),它必须被包的名称限定。第三,确保程序声明也出现在程序包规范中,否则程序在程序包主体中是局部的,这意味着您将无法在程序包主体 –

回答

0

简单:

所有的
declare 
    oresult NUMBER; 
begin 
    MY_PKG.DATA_PRC(oresult); 
end; 
+0

Ya之外引用它。它正在工作。谢谢 – Srinivasan

相关问题