Oracle11g 根据复选框中选择的内容,分配P1_tem的值

Oracle11g 根据复选框中选择的内容,分配P1_tem的值,oracle11g,oracle-apex,Oracle11g,Oracle Apex,我在oracle apex中有一个复选框,在那里我选择了用户的角色。我想要有记号的依赖项,我有一个P_tem的值!我试过了,但没用,你能帮我吗 声明 开始 如果:P30\u ROLE\u ID='Admin',则--检查差异 :P30_NAME:=“30”; 其他的 如果:P30\u ROLE\u ID='Reader',则--检查差异 :P30_NAME:=“20”; 如果结束; 其他的 如果:P30\u ROLE\u ID='user',则--检查差异 :P30_NAME:=“10”; 如

我在oracle apex中有一个复选框,在那里我选择了用户的角色。我想要有记号的依赖项,我有一个P_tem的值!我试过了,但没用,你能帮我吗

声明
开始
如果:P30\u ROLE\u ID='Admin',则--检查差异
:P30_NAME:=“30”;
其他的
如果:P30\u ROLE\u ID='Reader',则--检查差异
:P30_NAME:=“20”;
如果结束;
其他的
如果:P30\u ROLE\u ID='user',则--检查差异
:P30_NAME:=“10”;
如果结束;
如果结束;
结束;

如果项目是基于值列表的复选框,用户可能会选择多个值,因此您需要考虑这种可能性。这些值将用冒号(:)分隔,例如
Admin:Reader

例如:

IF instr(':' || :P30_ROLE_ID || ':', ':Admin:') > 0 THEN
   :P30_NAME :=  '30';
elsif instr(':' || :P30_ROLE_ID || ':', ':Reader:') > 0 then
   :P30_NAME :=  '20'; 
elsif instr(':' || :P30_ROLE_ID || ':', ':User:') > 0 then
   :P30_NAME :=  '10'; 
END IF;

代码中存在语法错误。您需要使用
ELSIF
而不是像
END IF;else
。谢谢,我按照你写的那样做了,但没有帮助,我执行了动态操作/更改P30_角色\u ID/设置值/项目以提交P30_角色\u ID受影响的元素/P30\u名称当我在控制台$v('P30_角色\u ID')中的命令帮助下检查浏览器页面上的变量时,我看到了正确的答案,例如“Admin”我认为您可以在apex.oracle.com上创建一个小样本应用程序,让我们看看您想要实现的目标。由于您提供的描述有限,很难为您提供详细的解决方案。