首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >顶点集合:如何使用实际的列名代替C001、C002

顶点集合:如何使用实际的列名代替C001、C002
EN

Stack Overflow用户
提问于 2022-03-24 12:55:34
回答 2查看 673关注 0票数 1

创建一个允许用户输入SQL语句的页面,当用户按下按钮时,它应该执行此查询,另一个区域将用经典报告显示结果。在Button上,动态操作执行PL/SQL代码如下:单击事件:

代码语言:javascript
复制
begin
IF :P8_YOURSQL IS NOT NULL THEN
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY (
p_collection_name => 'SOMECOLLECTION',
p_query => :P8_YOURSQL,
p_truncate_if_exists => 'YES'
);
end if;
end;

提交项目: P8_YOURSQL

第二,行动刷新CR区域和CR区域的基础是:

代码语言:javascript
复制
SELECT * FROM APEX_COLLECTIONS
WHERE COLLECTION_NAME = 'SOMECOLLECTION';

结果列不限于查询结果,列标题为C001、C002、C003等。(a)如何将列限制为包含的SQL语句?(b)如何将标题更改为实际列名?(c)如何检查有效的SQL语句?

请帮助样例代码如何。

EN

回答 2

Stack Overflow用户

发布于 2022-03-24 16:24:24

APEX_COLLECTIONS是一个通用表,因此它有两个列用于最常见的数据类型,名称为C001, N001等。与任何表列一样,可以在查询中别名。

示例:

  • 在页眉之前创建页进程以填充集合

代码语言:javascript
复制
APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY (
  p_collection_name => 'EMP_COLLECTION',
  p_query => q'!SELECT * FROM emp!',
  p_truncate_if_exists => 'YES'
);

  • 运行页面并从developer工具栏打开“会话”窗口。在“查看”下拉菜单中选择“集合”,然后单击"Set“。这将列出会话中存在的任何集合的APEX_COLLECTIONS表中的数据。注意数据和数据在.

中的列

  • 使“会话”窗口处于打开状态,并在APEX_COLLECTIONS视图上创建一个带有适当别名的

查询。

代码语言:javascript
复制
SELECT 
  c001 as EMPNO,
  c002 as ENAME, 
  c003 as JOB, 
  c004 as MGR, 
  <rest_of_columns>...
 FROM
  APEX_COLLECTIONS WHERE collection_name = 'EMP_COLLECTION'

在执行SELECT * FROM ...时不可能使用别名列

如果SELECT *很重要,那么还有另一种可能性。在APEX_COLLECTIONS上创建一个具有相关列名的视图。示例:

代码语言:javascript
复制
CREATE OR REPLACE view EMP_COLLECTION_V 
AS
SELECT 
  c001 as EMPNO,
  c002 as ENAME, 
  c003 as JOB, 
  c004 as MGR
 FROM
  APEX_COLLECTIONS WHERE collection_name = 'EMP_COLLECTION'

然后使用SELECT * FROM EMP_COLLECTION_V作为典型报表的SQL源。

票数 3
EN

Stack Overflow用户

发布于 2022-03-25 07:01:16

要获取SELECT * FROM ...的列名,请查看DBMS_SQL.DESCRIBE_COLUMNS3。文档中有一个示例显示了如何打印列名。

然后,这可以在经典的报告中实现。

  • 为每列创建一个页面项: P1_C1、P1_C2等
  • 将每列的列标题设置为相应的页面项: col1有标头&P1_C1、col2 has &P1_C2等
  • 创建一个页面进程,根据使用DBMS_SQL.DESCRIBE_COLUMNS3的sql查询设置列标题-或使用

请注意,强烈建议断言sql查询以避免不必要的sql (如delete或drop命令)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71602910

复制
相关文章

相似问题

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