首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >顶值列表定义

顶值列表定义
EN

Stack Overflow用户
提问于 2014-03-17 20:06:58
回答 2查看 16.3K关注 0票数 0

有没有一种方法可以查询:P5_NS_ID指向的表?执行此查询时出现错误。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-21 03:10:05

使用级联引用构建APEX值列表

@Frank Schmitt在他的解决方案中提出了他的查询建议:

代码语言:javascript
复制
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

下面是我的示例中使用的表结构:

部门

代码语言:javascript
复制
CREATE TABLE  "DEPT" 
   (    "DEPTNO" NUMBER(2,0), 
        "DNAME" VARCHAR2(14), 
        "LOC" VARCHAR2(13), 
     PRIMARY KEY ("DEPTNO") ENABLE
   )
/

EMP

代码语言:javascript
复制
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查询:

  1. 第一个值列表查询位于页项目中:P3_FIRST_CHOICE独立于任何值。它为用户提供了DEPARTMENT值的选择。

SELECT DNAME || ',‘|| LOC d,DEPTNO as r FROM DEPT

  • 第二个LOV查询位于页面项目: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。对于给定的部门,用户可以选择特定的值列表项目,即使返回值与显示的值相同,值列表查询输出中也需要两列。

  • 第三个值列表查询位于页.Notice:P3_THIRD_CHOICE中,并依赖于选择的输入:P3_FIRST_CHOICEP3_SECOND_CHOICE

SELECT ENAME d,EMPNO r FROM emp WHERE DEPTNO = :P3_FIRST_CHOICE和JOB = :P3_SECOND_CHOICE

P3_THIRD_CHOICE具有CASCADING PARAMETER相关性,并提供一组员工姓名,这些员工姓名的记录与前两个表单选择项中选定的DEPARTMENTJOB值相匹配。

  • 有一个可选的第四个查询,它将填写从第三个值列表中选择的EMPLOYEE上的报表。

您的APEX表单设计可能如下所示:

如何从级联表单输入项中获取新参数

以下是示例查询表单:

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

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

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

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

票数 3
EN

Stack Overflow用户

发布于 2014-03-17 20:52:38

我不是APEX专家,但是这个查询看起来失败了--您从内部查询中返回了一个名为server_name的列,并且您试图在外部查询中引用两个名为"name""type"的列。

如果您的表dns_servers确实包含名为"name""id"的列,我建议从内部查询中返回所有列:

代码语言:javascript
复制
  select "name" from (
    select * from dns_servers where id = :P5_NS_ID)
  where "type" = :P5_REC_TYPE_ID
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22453859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档