(関数内の)テーブルの1つのバックアップテーブルを作成しようとしています。
CREATE TABLE TBTestBackup
(
colum1 user.TBTest.colum1%type,
colum2 user.TBTest.colum2%type,
colum3 user.TBTest.colum3%type
colum31 user.TBTest.colum3%type, --new column with same type as colum3
colum4 user.TBTest2.column15type, --column from other table
colum4 CHAR (12 BYTE), --new column with fixed type
) TABLESPACE user_DATA
しかし、これは機能しません。今の私の質問は、データ型を変更するたびにバックアップスクリプトでデータ型を更新する必要がないように、これを可能な限り動的にするにはどうすればよいかということです。
VARCHAR2(24 CHAR)
にVARCHAR2(50 CHAR)
(テーブル列は修正され、変更されません)これは頻繁には発生しませんが、フィールドが特定の値に対して十分に大きくなく、バックアップテーブルとIDがエラーを発生させなかったため、何度か実行する必要がありました。 。
編集:私は必要なものを忘れました:
- 元のテーブルにはない2つの列を追加する必要がありますが、既存のテーブルの1つと同じデータ型である必要があります。同じタイプで別の名前になるようにselectを使用できますか?はいの場合、どうすればよいですか?
- および別のテーブルからのいくつかのフィールド(したがって、結合を使用する必要があります)
和:
- 複数のテーブルのタイプを持つ複数の列
- タイプが固定された新しい列
- テーブルABCの列XYのような変数タイプの新しい列