ALTER TABLE文は、既存の表への列または外部キーの追加および削除、既存の表のハッシュ索引のサイズ変更、列のデフォルト値の変更、または列の一意制約の削除や追加を実行します。
TimesTenインスタンスでアクセス制御が有効な場合、この文にはDDL権限が必要です。
列を追加する場合、ALTER TABLE文の構文は次のとおりです。
または
列を削除する場合、ALTER TABLE文の構文は次のとおりです。
または
外部キーを追加する場合、ALTER TABLE文の構文は次のとおりです。
ALTER TABLE [Owner.]TableName
ADD [CONSTRAINT ForeignKeyName] FOREIGN KEY
(ColumnName [,...])
REFERENCES RefTableName [(ColumnName [,...])]
外部キーを削除する場合、ALTER TABLE文の構文は次のとおりです。
ALTER TABLE [Owner.]TableName
DROP CONSTRAINT ForeignKeyName
ハッシュ索引のサイズを変更する場合、ALTER TABLE文の構文は次のとおりです。
ALTER TABLE [Owner.]TableName
SET PAGES = RowPages | CURRENT
列のデフォルト値を変更する場合、ALTER TABLE文の構文は次のとおりです。
ALTER TABLE [Owner.]TableName
MODIFY (ColumnName DEFAULT DefaultVal)
列の一意制約を追加または削除する場合、ALTER TABLE文の構文は次のとおりです。
ALTER TABLE Owner.]TableName
{ADD | DROP} UNIQUE ( ColumnName )
NULL値可能な列のデフォルト値をNULLに変更することによって削除する場合、ALTER TABLE文の構文は次のとおりです。
ALTER TABLE [Owner.]TableName
MODIFY (ColumnName DEFAULT NULL)
ALTER TABLE文には、次のパラメータがあります。
[Owner.]TableName | 変更する表を指定します。 |
UNIQUE | 列ColumnNameの各行の値が一意である必要があることを示します。 |
MODIFY | 指定した列の属性を新しい値に変更します。 |
DEFAULT [DefaultVal | NULL] | 列のデフォルト値(DefaultVal)を指定します。NULLを指定すると、列のデフォルト値が削除されます。デフォルト値にSYSDATEを指定した列を追加すると、既存の行の列の値のみが、列が追加された時点のシステム日付になります。デフォルト値がUSER関数の1つである場合、列の値はALTER TABLE文を実行したセッションのユーザーの値になります。 列のデフォルト値を変更しても、既存の行は変更されません。 |
ColumnName | UNIQUE CONSTRAINTまたはデフォルト値が変更される列の名前です。新しい列に、既存の列名または別の新しい列名を指定することはできません。 |
ColumnDataType | 追加する列のデータ型です。追加のパラメータが必要なデータ型もあります。指定できるデータ型の詳細は、「データ型」を参照してください。 |
INLINE / NOT INLINE | デフォルトでは、宣言された列の長さが128バイトより大きい可変長の列は表外に保存されます。宣言された列の長さが128バイト以下の可変長の列は、表内に保存されます。INLINEおよびNOT INLINEキーワードを使用すると、表を作成するときのデフォルトの動作を無効にすることができます。 |
CONSTRAINT | 削除する外部キーを指定します。オプションで、追加された外部キーの名前をユーザーが指定するように指定します。 |
ForeignKeyName | 追加または削除する外部キーの名前です。すべての外部キーは、ユーザーが名前を指定しなかった場合、デフォルトの名前が割り当てられます。ユーザーが指定した名前またはシステムの名前のいずれかをDROP FOREIGN KEYコマンドで指定できます。 |
FOREIGN KEY | 外部キーを追加または削除するよう指定します。「FOREIGN KEY」を参照してください。 |
REFERENCES | 外部キーが別の表を参照するように指定します。 |
RefTableName | 外部キーが参照する表の名前です。 |
SET PAGES | 表の行ページに想定される数に基づいてハッシュ索引のサイズを変更します。各行ページのデータの行数は、最大256です。この数によって、ハッシュ索引に対して作成されるハッシュ・バケットの数が決まります。最小値は1で、最大値は268435456/256(2^28/256)です。推定した数が小さすぎると、パフォーマンスが悪化します。定数(RowPages)または現在の行ページの数を指定できます。ハッシュ索引とページの詳細は、「列定義」を参照してください。 |
RowPages | 想定される行ページの数です。 |
CURRENT | 現在使用されている行ページの数を使用します。 |
列ReturnRateを表Partsに追加します。
列NumAssignとPrevDeptを表Contractorに追加します。
表Employeeの列Addr1とAddr2を削除します。
次の文では、表BooksのUNIQUEのTitle列を削除します。
次の文では、デフォルト値5を使用して列x1を表T1に追加します。
次の文では、列のデフォルト値x1を2に変更します。