0

私のパッケージでは、場所条件は異なりますが、列のリストは同じである多くの場所で選択クエリを実行します。以下のように。

Select a_1, a_2, a_3, ..... a_100 from table where <condition>

選択に含めたい新しい a_101 がある場合、この選択クエリが使用されるすべての場所を手動で編集する必要があり、このような選択がたくさんあります。

私の質問は、すべての列を 1 つの変数として定義し、それを select で使用する方法はありますか? このようなもの。

declare
  v_columns varchar2(500 byte);
begin
  v_columns := 'a_1, a_2, a_3....... a_100'
  select v_columns from table;
end;

このように、a_101 のような新しい列を追加したい場合は、変数宣言の 1 か所を変更するだけです。

どんな助けでも大歓迎です。

4

1 に答える 1

2

簡単な方法は、ビューを定義してから * を選択することです。

したがって、列 1 から 30 のテーブルがあり、定期的に偶数列を選択している場合。

SomeTable から Column2、column4、...Column30 を選択するビューを作成します。

次に、他のクエリで再利用するには、 Select * from SomeTableEvenColumns where .... を実行します。

于 2013-06-12T20:53:16.407 に答える