ORA-27458: A program of type PLSQL_BLOCK cannot have any arguments.

文档解释

ORA-27458: A program of type PLSQL_BLOCK cannot have any arguments.

Cause: An attempt was made to create or enable a program of type PLSQL_BLOCK with arguments. This is not allowed.

Action: Change the number of arguments to zero, or change the type of the program.

ORA-27458错误,属于特定错误,它意味着调用来自PL/SQL块的函数/过程不能接受参数。当PL/SQL块中尝试为函数/过程传递参数时抛出此错误。

官方解释

ORA-27458: 无法给类型PL/SQL块的程序传递参数

此对象类型不能接受任何参数。

常见案例:

当尝试在来自PL/SQL块中的函数/过程中传递参数时,可能会引发ORA-27458错误。例如,下面是一个简单的PL/SQL块:

declare

l_emp_sal number := 1000;

begin

dbms_output.put_line(some_function(l_emp_sal));

end;

/

正常处理步骤:

此错误的最佳解决方案是在PL/SQL块之外定义函数/过程,Window过程,或Packages/Stored过程,然后在PL/SQL块中调用它们。

像这样:

declare

l_emp_sal number := 1000;

begin

dbms_output.put_line(some_package.some_function(l_emp_sal));

end;

/

你可能感兴趣的