用于选择表的解码功能

时间:2014-04-08 06:09:07

标签: sql oracle decode

是否有任何(相同或替代)方式将表名与DECODE函数一起使用。

这样的事情:

SELECT * FROM
DECODE(FLAG,1,TABLE1,2,TABLE2,TABLE3)

2 个答案:

答案 0 :(得分:2)

在SQL中,无法在运行时确定表名。它们需要在编译时提供。

如果需要动态提供表名,则需要使用动态SQL。

希望它有助于

Vishad

答案 1 :(得分:1)

select * from table1 where decode(flag, 1,1,      0) = 1 union
select * from table2 where decode(flag, 2,1,      0) = 1 union
select * from table3 where decode(flag, 1,0, 2,0, 1) = 1;