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 に答える