从 apex 页面进程调用 pl/sql 函数
Posted
技术标签:
【中文标题】从 apex 页面进程调用 pl/sql 函数【英文标题】:Calling a pl/sql function from apex page process 【发布时间】:2013-10-08 07:17:40 【问题描述】:从 Apex 的页面进程中,我尝试调用驻留在我的 oracle 数据库中的包中的函数。我可以通过以下调用调用一个过程:
#OWNER#.package_name.procedure_name( p1 => p2);
根据其中一项要求,我必须检查特定函数是否返回 true 或 false 并相应地执行操作。所以对于 pl/sql 源(在顶点)我正在尝试这个:
BEGIN
IF (#OWNER.package_name.function_name(p1)) THEN
--do something
END;
但它说需要声明函数(在顶点中出现此错误),我无法弄清楚我哪里出错了。我真的是 APEX 的新手,所以任何帮助都将不胜感激。而且,如果有人知道任何教程,我可以在其中了解有关从 apex 页面访问 pl/sql 代码(在 oracle db 中)的更多信息,那就太好了!
【问题讨论】:
您能否在您的问题中添加包装规范。 替换字符串用主题标签括起来,而不仅仅是一个开头。 【参考方案1】:您用来从 APEX 连接到数据库的用户是否有权执行该功能?
您可以以该用户身份登录到您的数据库并尝试执行该功能吗?
您能否尝试为包含该函数的包创建PUBLIC SYNONYM
,并尝试在不使用该包所属架构的名称的情况下调用它?
您可以检查该用户是否具有使用权限(最好以该用户身份登录):
SELECT *
FROM user_tab_privs -- or dba_tab_privs if logged as sys etc.
WHERE grantee = 'YOUR_USERNAME'
AND privilege = 'EXECUTE'
AND table_name = 'YOUR_PACKAGE_NAME'
;
【讨论】:
以上是关于从 apex 页面进程调用 pl/sql 函数的主要内容,如果未能解决你的问题,请参考以下文章
Oracle Apex:PL/SQL 块中的 Javascript 代码
Oracle ApeX (PL/SQL) - 从 JavaScript 变量中创建绑定变量
ORACLE apex - 使用 PL/SQL 循环通过复选框项目
如何从 Javascript 函数中调用 PL/SQL 变量?
PL/SQL 中的问题 = 错误堆栈:ORA-01403:Oracle Application Express (APEX) 中没有数据