Interactive SQL では、ALTER TABLE 文を使用してテーブルを変更できます。従属マテリアライズド・ビューを持つテーブルに対して、ADD FOREIGN KEY 以外の句を ALTER TABLE 文で使用すると、ALTER TABLE 文は失敗します。その他すべての句の場合は、従属マテリアライズド・ビューを無効にし、変更が完了してから、再度有効にする必要があります。ビューの依存性を参照してください。
従属マテリアライズド・ビューがあるかどうかを判断するには、sa_dependent_views システム・プロシージャを使用します。sa_dependent_views システム・プロシージャを参照してください。
DBA 権限のあるユーザとしてデータベースに接続します。
従属マテリアライズド・ビューを持つテーブルに対してスキーマ変更操作を実行しており、ADD FOREIGN KEY 以外の句を ALTER TABLE 文で使用する場合、ALTER MATERIALIZED VIEW ... DISABLE 文を使用して各従属マテリアライズド・ビューを無効にします。通常の従属ビューを無効にする必要はありません。
ALTER TABLE 文を実行して、テーブルの変更を実行します。
データベース内のテーブルの定義が更新されます。
無効にしたマテリアライズド・ビューがある場合は、ALTER MATERIALIZED VIEW ... ENABLE 文を使用してもう一度有効にします。
これらの例は、データベースの構造を変更する方法を示しています。ALTER TABLE 文は、テーブルに関するほとんどすべての内容を変更できます。これによって、外部キーの追加と削除、カラム型の変更などを実行できます。このような場合には、一度変更を加えると、このテーブルを参照するストアド・プロシージャ、ビュー、その他のアイテムは機能しなくなる可能性があります。
次に示すコマンドは、スキルの説明を自由に書き込むカラムを Skills テーブルに追加します。
ALTER TABLE Skills ADD SkillDescription CHAR( 254 ); |
ALTER TABLE 文を使用して、カラムの属性を変更することもできます。次の文は、SkillDescription カラムを最大 254 文字から最大 80 文字に変更します。
ALTER TABLE Skills ALTER SkillDescription CHAR( 80 ); |
デフォルトで、80 文字より長いエントリが存在する場合は、エラーが発生します。string_rtruncation オプションを使用すると、この動作を変更できます。string_rtruncation オプション [互換性]を参照してください。
次の文は、SkillType カラムの名前を Classification に変更します。
ALTER TABLE Skills RENAME SkillType TO Classification; |
次の文は、Classification カラムを削除します。
ALTER TABLE Skills DROP Classification; |
次に示すコマンドは、テーブル全体の名前を変更します。
ALTER TABLE Skills RENAME Qualification; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |