2017-04-26 10 views
0

計算された列をOracleのグローバル・テンポラリ・テーブルに追加したい。 シンプルテーブルの場合、要求はうまく機能します。計算された列をテンポラリ・テーブルに追加する

alter table ma_table add ma_column as (column1*column2); 

しかし、それはasの使用を拒否し、一時的なもののために。 Oracleの一時テーブルに新しい計算カラムを追加する方法はありますか?

+0

エラーメッセージはかなり強調されています。 ORA-54010:式列は一時表に対してはサポートされていません。なぜあなたはこれをしたいのですか? – APC

+0

これはプロジェクトの制約ですが、実際は "alter table ma_table add ma_column;" "as"がそこにあるときに要求が拒否されるとうまくいきます。 – Mouad

答えて

0

エラーメッセージはかなり強調されています。 ORA-54010: expression column is not supported for a temporary table.

"alter table ma_table add ma_column;" "as"がそこにあるときに要求が拒否されるとうまくいきます。

ASは、仮想列を作成するために必要なビットです。しかし、それがアクションである構文ではありません。この上documentation is quite clear

は、「あなただけのリレーショナルヒープ表に仮想列を作成することができ、仮想列は、索引構成、外部、オブジェクト、クラスタ、または一時テーブルではサポートされません。」

この場合、プラットフォームの制限がプロジェクト要件よりも優先されます。

+0

Okeyありがとう、私はそれを行う方法を見つけた、私はすべての挿入要求の更新要求を実行するスクリプトを作成する必要があります。どうもありがとう。 – Mouad

1

は、私はちょうど私がALTER要求

alter table ma_table add ma_column [type]; 

そして後でカラムを追加 、それを行う方法を発見した挿入要求が行われた場合、更新要求を実行するスクリプトを作成

update ma_table set ma_column=(colonne1*colonne2);