日期:2014-05-17  浏览次数:21190 次

查询的时候,表名可以是拼接的字符串吗?
比如我想:
select     *   from   aaa_20070108_bbb

可以类似这样吗:
select     *   from   'aaa '||to_char(sysdate, 'YYYYMMDD ')|| 'bbb '  
select     *   from   concat(concat( 'aaa ',to_char(sysdate, 'YYYYMMDD ')   ), 'bbb ')  

我试了这两个,不行。

------解决方案--------------------
要用动态sql

execute immediate ...

lz的select 结果要放到什么地方呢


------解决方案--------------------
可以的,
或者干脆使用动态sql,建立view
------解决方案--------------------
‘包’就是‘包’,类似于存储过程。一般是oracle自己已经定义的,用来实现一些特殊的功能。
在8i前,不支持动态的sql语句,如果有动态的sql语句,就要调用包dbms_sql。