0

我需要编写一个查询,该查询将定期从系统中提取大量数据。

我遇到的问题是,在启动新项目时,应用程序创建了大约 100 个具有乱码名称的表。特定项目的表名称保存在项目表中。

所以我需要在项目表、其他几个表之间加入,然后在项目表的列中列出的每个表。

这可能吗,如果有的话,有什么指针吗?

4

1 回答 1

1

将您的查询放入EXECUCTE IMMEDIATE语句中。(这称为动态 sql)

declare
  vcTableName varchar2(30);
  vcResult varchar2(128);
begin

  vcTableName := 'SOME_TABLE_NAME';

  EXECUTE IMMEDIATE 'SELECT column FROM '||vcTableName||' WHERE conditions' into vcResult;

  do_something(vcResult);

end;
/
于 2012-07-04T09:52:44.470 回答