类似的问题已经在这里使用动态操作进行了描述和解决,但我仍然无法在我的情况下实现它。
我有一个表单(自动创建但是页面创建者)来更改远程数据库中的密码。有三个项目
按钮触发一个简单的存储过程:
declare
success int;
msg varchar(100);
begin
SYS.CHANGEPASSWORD@abc(
PUSERNAME => :P15_UNAME,
PNEWPASSWORD => :P15_NEW,
PRESULT => success,
PMESSAGE => msg);
if success = 0 then
apex_application.g_print_success_message := msg;
else
apex_application.g_print_success_message := '<span style="color:red">' || msg || '</span>';
end if ;
end ;
不幸的是,存储过程不会调用登录名和密码的选择/输入值。我可能应该使用动态操作,但不知道如何同时调用存储过程和动态。你能给我一些提示吗。
ķ。
答案 0 :(得分:0)
您是否尝试将页面项值直接传递到数据库中?您的过程/过程调用看起来应该是这样的。
-- database
PROCEDURE p_change_details(p_uname varchar2, p_password varchar2)
IS
success int;
msg varchar(100);
begin
SYS.CHANGEPASSWORD@abc(
PUSERNAME => p_uname,
PNEWPASSWORD => p_password,
PRESULT => success,
PMESSAGE => msg);
if success = 0 then
apex_application.g_print_success_message := msg;
else
apex_application.g_print_success_message := '<span style="color:red">' || msg || '</span>';
end if ;
end ;
--APEX
p_change_details(:P15_UNAME, :P15_NEW)
答案 1 :(得分:0)