Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データベースの作成 » データベース・オブジェクトの使用 » テーブルの操作 » テーブルの変更

 

テーブルの変更 (SQL の場合)

Interactive SQL では、ALTER TABLE 文を使用してテーブルを変更できます。従属マテリアライズド・ビューを持つテーブルに対して、ADD FOREIGN KEY 以外の句を ALTER TABLE 文で使用すると、ALTER TABLE 文は失敗します。その他すべての句の場合は、従属マテリアライズド・ビューを無効にし、変更が完了してから、再度有効にする必要があります。ビューの依存性を参照してください。

従属マテリアライズド・ビューがあるかどうかを判断するには、sa_dependent_views システム・プロシージャを使用します。sa_dependent_views システム・プロシージャを参照してください。

♦  既存のテーブルを変更するには、次の手順に従います (SQL の場合)。
  1. DBA 権限のあるユーザとしてデータベースに接続します。

  2. 従属マテリアライズド・ビューを持つテーブルに対してスキーマ変更操作を実行しており、ADD FOREIGN KEY 以外の句を ALTER TABLE 文で使用する場合、ALTER MATERIALIZED VIEW ... DISABLE 文を使用して各従属マテリアライズド・ビューを無効にします。通常の従属ビューを無効にする必要はありません。

  3. ALTER TABLE 文を実行して、テーブルの変更を実行します。

    データベース内のテーブルの定義が更新されます。

  4. 無効にしたマテリアライズド・ビューがある場合は、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;
参照