oracle如何查找字段中的表

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:49:39
我在1个表的字段中存放了另外1个表的名称,请问想要查询这个字段中的表的SQL要怎么写
select * from (select table_name from other_table);
如果写成这样的话,只是会把我查找出来的table_name当作1个结果,并不是当作表来查找 实际上和
select * from (select 'aaa' from dual);这样的效果是一样的,外部的查询语句并不认为后面的内容是个表。。
1. 你这个syscat.tables 在ORACLE中是没有的
2.3楼所说的动态SQL我看了,但是好像必须要写过程,与其写ORACLE过程,我还不把我的方法写在后台程序里,先取表名,再取该表的数据。这就是执行2次SQL而已。有没有不写过程的办法?

没有楼主要求的方法!
只能二次sql,我通常是
SELECT 'SELECT * FROM '|| TABLE_NAME || ';' FROM OTHER_TALBE;
把查询结果拿来执行。

首先把要取的表数据中的表名取出来,附给plsql定义的变量

通过组织sql字符串,通过plsql中执行字符串的函数进行执行。

一般这样写,我也都是应用在存储过程当中

你要把他变为字符串,然后调用执行这个字符串就行了,看一下SQL动态执行一章

SELECT * FROM USER_TABLES

我用的DB2
是这样的
SELECT * FROM syscat.tables
WHERE TABNAME = 'XXX'

XXX是你自己查出来的。

不知道有这样的简便方法,还是用PL/SQL实现吧