oracle 调用不了其他用户的存储过程
时间: 2023-07-12 12:50:54
浏览: 220
如果您在Oracle中无法调用其他用户的存储过程,可能是以下原因之一:
1. 您没有执行该存储过程的权限。请确保使用`GRANT EXECUTE`语句授予您执行该存储过程的权限。
2. 存储过程的所有者没有在其名称前使用其他用户的模式名。您需要在存储过程的名称前使用模式名,例如:
EXECUTE schema_name.procedure_name;
其中,`schema_name`是存储过程所在用户的模式名。
3. 存储过程的参数可能不正确。请确保您传递了正确的参数,并且它们的数据类型与存储过程定义中的参数数据类型匹配。
如果您已经排除了以上问题,请检查存储过程的定义和调用是否正确。如果问题仍然存在,请提供更多详细信息,以便我更好地理解您的情况。
相关问题
oracle存储过程中调用存储过程
在 Oracle 存储过程中,可以通过以下方式调用另一个存储过程:
CREATE OR REPLACE PROCEDURE procedure1 AS
BEGIN
-- 执行一些逻辑
-- 调用存储过程 procedure2
procedure2;
-- 继续执行其他逻辑
在 `procedure1` 中,使用 `procedure2` 后面加上括号的形式来调用另一个存储过程。注意,在调用存储过程时,不要忘记添加分号 `;`。
确保 `procedure2` 存储过程已经存在,并且在 `procedure1` 中可以访问到。如果 `procedure2` 存储过程在不同的模式或者数据库中,你可能需要使用模式名或者数据库链接来引用它
oracle存储过程调用另一个存储过程
在Oracle数据库中,存储过程可以通过以下方式调用另一个存储过程:
1. 使用CALL语句调用存储过程:
CALL procedure_name(arguments);
```