【发布时间】:2016-05-24 14:17:28
【问题描述】:
我有一个名为:col_mapping 的 Oracle 表,其中该表中的列包含另一个表中列的列值。
表格数据示例:col_mapping
ID DESCR COL_VALS
------------------------------
1 LABEL COL_1
2 NAME_ADDR COL_2:COL_3
3 SALARY COL4
基于上表,我现在想遍历 col_mapping 中的每条记录,并将 COL_VALS 用作我的一部分
select COL_VALS from other_tab
显然,如果像 COL_2:COL_3 这样的值不止一个,则需要将 ':' 替换为 ','
SELECT COL_1 from other_tab;
SELECT COL_2,COL_3 from other_tab;
SELECT COL_4 from other_tab;
【问题讨论】:
-
您只是想将这些选择语句生成为字符串,还是实际执行它们?要执行它们,您需要某种形式的动态 SQL;您将如何处理查询结果?此外,
descr列是否相关 - 它是否应该是查询列的别名,如果是,第二个是否应该将col_2和col_3组合成一个值? -
@Alex Poole 我实际上想生成这些选择语句,并将这些列的实际值放在 other_tab 表中的临时表中。 descr 列只是让我知道 col_vals 中的内容,因此对于 col_2 和 col_3,我实际上希望将它们作为单独的值。希望这可以帮助。谢谢。
-
您的暂存表是否与
other_tab具有相同的列名和数据类型?如果不是,您如何映射和转换值? -
@Alex Poole - 暂存表将与 other_tab 相同
标签: plsql oracle11g oracle-apex