
有没有一种方法可以查询:P5_NS_ID指向的表?执行此查询时出现错误。
发布于 2014-04-21 03:10:05
使用级联引用构建APEX值列表
@Frank Schmitt在他的解决方案中提出了他的查询建议:
select "name" from (
select * from dns_servers where id = :P5_NS_ID)
where "type" = :P5_REC_TYPE_ID但是,为了克服您遇到的错误,需要提醒您一些关于您试图创建的Oracle APEX元素类型( LIST OF VALUES QUERY )背后的规则。以下是在Apex开发人员区域发布的基于查询的LOV示例的屏幕截图:

请注意,查询的输出中需要有两列。位置1中的值是DISPLAY VALUE (使用它的选择对话框中显示的值)。和RETURN VALUE (实际作为输入值返回给显示查询中的选项的页面项。
在实现级联输入参数的逻辑时,您可能也会遇到一些困难。下面是一个如何解决这个问题的例子。
设置示例模式HR-EMP
下面是我的示例中使用的表结构:
部门
CREATE TABLE "DEPT"
( "DEPTNO" NUMBER(2,0),
"DNAME" VARCHAR2(14),
"LOC" VARCHAR2(13),
PRIMARY KEY ("DEPTNO") ENABLE
)
/EMP
CREATE TABLE "EMP"
( "EMPNO" NUMBER(4,0) NOT NULL ENABLE,
"ENAME" VARCHAR2(10),
"JOB" VARCHAR2(9),
"MGR" NUMBER(4,0),
"HIREDATE" DATE,
"SAL" NUMBER(7,2),
"COMM" NUMBER(7,2),
"DEPTNO" NUMBER(2,0),
PRIMARY KEY ("EMPNO") ENABLE
)
/
ALTER TABLE "EMP" ADD FOREIGN KEY ("MGR")
REFERENCES "EMP" ("EMPNO") ENABLE
/
ALTER TABLE "EMP" ADD FOREIGN KEY ("DEPTNO")
REFERENCES "DEPT" ("DEPTNO") ENABLE
/此示例将使用三个LOV查询:
P3_FIRST_CHOICE独立于任何值。它为用户提供了DEPARTMENT值的选择。SELECT DNAME || ',‘|| LOC d,DEPTNO as r FROM DEPT
P3_SECOND_CHOICE中,并依赖于P3_FIRST_CHOICE.SELECT distinct JOB d、JOB r FROM emp WHERE emp.deptno = :P3_FIRST_CHOICE的选择输入这使得P3_SECOND_CHOICE成为第一个LOV值,因此级联CASCADING PARAMETER父项是:P3_FIRST_CHOICE。对于给定的部门,用户可以选择特定的值列表项目,即使返回值与显示的值相同,值列表查询输出中也需要两列。
P3_THIRD_CHOICE中,并依赖于选择的输入:P3_FIRST_CHOICE和P3_SECOND_CHOICE。SELECT ENAME d,EMPNO r FROM emp WHERE DEPTNO = :P3_FIRST_CHOICE和JOB = :P3_SECOND_CHOICE
P3_THIRD_CHOICE具有CASCADING PARAMETER相关性,并提供一组员工姓名,这些员工姓名的记录与前两个表单选择项中选定的DEPARTMENT和JOB值相匹配。
EMPLOYEE上的报表。您的APEX表单设计可能如下所示:

如何从级联表单输入项中获取新参数
以下是示例查询表单:

第一个选项(部门)的条目选择:

第二个选项(作业)的条目选择:

第三个选项(Employee)的条目选择:

最终输出:按所选员工个人查询

发布于 2014-03-17 20:52:38
我不是APEX专家,但是这个查询看起来失败了--您从内部查询中返回了一个名为server_name的列,并且您试图在外部查询中引用两个名为"name"和"type"的列。
如果您的表dns_servers确实包含名为"name"和"id"的列,我建议从内部查询中返回所有列:
select "name" from (
select * from dns_servers where id = :P5_NS_ID)
where "type" = :P5_REC_TYPE_IDhttps://stackoverflow.com/questions/22453859
复制相似问题