如何在ORACLE上使用假脱机使列名动态化?

时间:2016-04-08 03:26:20

标签: oracle plsql spool

我想问一下,是否可以使用游标来循环字符串值?例如,我的'.txt'报告中有3个标题栏:

COLUMN "DATE" format a15
COLUMN "SUBJECT" format a8
COLUMN "CLASS" format a10

,结果如下:

DATE                       SUBJECT                CLASS
----------------------     ------------------     -----------------
08-Apr-2016                 Science                10  
08-Apr-2016                 Social                 11

现在,列名仍然是通用名称或硬编码。然后,我想返回字符串值以将“DATE”,“SUBJECT”和“CLASS”替换为动态。所以只需按照加载到数据库的数据。

例如: 我的表格中充满了这些数据:

TITLE_COLUMN1               TITLE_COLUMN2                 TITLE_COLUMN3
DATE                        SUBJECT                       CLASS

我想从TITLE_COLUMN1,TITLE_COLUMN2,TITLE_COLUMN3中选择值作为我的列名。那么更好的方法是什么?使用

  

光标

或使用

  

可变

感谢您的建议和帮助。

1 个答案:

答案 0 :(得分:0)

如果您使用的是SQLPlus而您正在谈论substitution variables,那么您可以这样做:

arrayA - arrayB