Oracle,动态确定列名

时间:2013-08-14 18:18:06

标签: sql oracle10g

假设我有一个自定义列名表,它们都具有COL ##模式,其中##是任何整数。所以典型的查询是:

select COL12 from MyCustomTable;

所以在另一个表中,我有所有这些整数,我想使用整数表创建一个查询来构建MyCustomTable的动态查询。

类似的东西:

select 'COL' || (select colId from IdTable where Id = 12) from MyCustomTable;

但不是只为每一行返回字符串'COL12',而是返回由列名COL12标识的实际值。

不要担心我的整体问题:)我只是想知道我是否可以直接从sqldeveloper窗口执行此操作而无需编写任何代码/过程/函数等。

1 个答案:

答案 0 :(得分:2)

这种明显且绝对不安全的方法是使用EXECUTE IMMEDIATE语句。

另一种方法是使用SPOOL命令将结果输出到临时文件中,然后设置SPOOL OFF并使用@指令执行此文件。

相关问题