4D v14

ALTER TABLE

ホーム

 
4D v14
ALTER TABLE

ALTER TABLE  


 

 

ALTER TABLE sql_name
{ADD column_definition [PRIMARY KEY] [TRAILING] |
DROP sql_name |
ADD
primary_key_definition |
DROP PRIMARY KEY
|
ADD
foreign_key_definition |
DROP CONSTRAINT
sql_name |
[{ENABLE | DISABLE} REPLICATE] |
[{ENABLE | DISABLE} LOG] |
[{ENABLE | DISABLE} AUTO_INCREMENT] |
[{ENABLE | DISABLE} AUTO_GENERATE] |
SET SCHEMA sql_name}

説明  

ALTER TABLEコマンドは既存のテーブル (sql_name) を変更するために使用します。以下のいずれかのアクションを実行できます:

ADD column_definitionを渡すと、テーブルにカラムを追加します。PRIMARY KEYはカラムを追加する際に主キーを設定するために使用します。
TRAILING は列を作成する際に、ストラクチャーファイル内のテーブル内にある列のすぐあとに作成するように強制します。このオプションは、データを格納している列が(データを消去することなく)テーブルから削除されたときに有用です。なぜなら、既存のデータが新しい列に対して割り当てられるのを防ぐことができるからです。
DROP sql_nameを渡すと、テーブルからカラムsql_nameを削除します。
ADD
primary_key_definitionを渡すと、テーブルにPRIMARY KEYを追加します。
DROP PRIMARY KEY
を渡すと、テーブルのPRIMARY KEYを削除します。
ADD
foreign_key_definitionを渡すと、テーブルにFOREIGN KEYを追加します。
DROP CONSTRAINT
sql_nameを渡すと、指定した制約をテーブルから削除します。
ENABLE REPLICATEまたはDISABLE REPLICATEはテーブルの複製メカニズムを有効/無効にします (SQLを使用した複製参照)。
ENABLE LOG または DISABLE LOG はテーブルのデータログを有効化または無効化します。
ENABLE AUTO_INCREMENT または DISABLE AUTO_INCREMENT は倍長整数型のフィールドに対して「自動インクリメント」のオプションを有効化または無効化します。
ENABLE AUTO_GENERATE または DISABLE AUTO_GENERATE は文字型のフィールドに対して「自動UUID」のオプションを有効化または無効化します。
SET SCHEMA sql_nameを渡すと、テーブルをsql_name スキーマへ転送します。

以下の場合にはコマンドはエラーを返します:

  • 任意の ENABLE LOG 引数が渡されているのに有効なプライマリーキーが定義されていない場合。
  • DISABLE LOG を使用してジャーナルを無効化せずにテーブルのプライマリーキーの定義を変更または削除しようとした場合。

例題  

この例題ではテーブルを作成し、データを挿入し、その後Phone_Numberカラムを追加、さらに値を追加して、最後にIDカラムを削除します:

CREATE TABLE ACTOR_FANS
(ID INT32, Name VARCHAR);

INSERT INTO ACTOR_FANS
(ID, Name)
VALUES(1, 'Francis');

ALTER TABLE ACTOR_FANS
ADD Phone_Number VARCHAR;

INSERT INTO ACTOR_FANS
(ID, Name, Phone_Number)
VALUES (2, 'Florence', '01446677888');

ALTER TABLE ACTOR_FANS
DROP ID;

 
プロパティ 

プロダクト: 4D
テーマ: SQLコマンド

 
参照 

column_definition
CREATE TABLE
DROP TABLE
foreign_key_definition
primary_key_definition

 
ARTICLE USAGE

SQLリファレンス ( 4D v14)
SQLリファレンス ( 4D v14 R2)

Inherited from : ALTER TABLE ( 4D v12.1)
Parent of : ALTER TABLE ( 4D v14 R3)