ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

列タイプ句として使用する場合は、列のタイプは参照されるPRIMARY KEY索引またはUNIQUE索引から継承されるよう指定します。データ型とドメインの両方が継承されます。

RENAME TO

変更する表の名前を変更します。詳細は、「RENAME文」を参照してください。新規名がシノニム名である場合は、エラーが発生します。

新規名は、既存の表、シノニム、順序またはビューに存在しているもの以外にする必要があります。システム表の名前は変更できません。

RENAME TO句には、このデータベースに対して有効なシノニムが必要です。「ALTER DATABASE文」のSYNONYMS ARE ENABLED句に関する説明を参照してください。これらのシノニムがデータベース定義またはアプリケーションによって使用されていない場合は、削除される可能性があります。

SET DEFAULT default-value

列にデフォルト値を指定します。

sql-and-dtr-clause

オプションのSQLおよびDATATRIEVEフォーマット句です。詳細は、第2.5節を参照してください。

列に対してフォーマット句を指定した場合、基となるドメインもフォーマット句を指定するものである場合、表定義のフォーマット句がドメイン定義のフォーマット句をオーバーライドします。

start-with

IDENTITY列に作成された順序の開始値を指定する整数リテラル値です。省略された場合、デフォルトは1です。

table-name

定義を変更するテーブルの名前です。

UNIQUE

関連付けられた列の値が一意である必要があることを指定します。

使用方法


例1: EMPLOYEES表への列の追加


SQL> ALTER TABLE EMPLOYEES ADD SALARY INTEGER(2);

例2: COLLEGES表への列の追加および変更

次の例では、2つの列を追加します。1つはCOLLEGES表の問合せの名前を持ちます。ALTER DOMAINは、POSTAL_CODE列を暗黙的に変更して5文字ではなく9文字を受け入れるようにする場合にも使用されます。


SQL> SHOW TABLE COLLEGES;
Information for table COLLEGES

Comment on table COLLEGES:
names and addresses of colleges attended by employees

Columns for table COLLEGES:
Column Name                     Data Type        Domain
-----------                     ---------        ------
COLLEGE_CODE                    CHAR(4)          COLLEGE_CODE_DOM
 Primary Key constraint COLLEGES_PRIMARY_COLLEGE_CODE
COLLEGE_NAME                    CHAR(25)         COLLEGE_NAME_DOM
CITY                            CHAR(20)         CITY_DOM
STATE                           CHAR(2)          STATE_DOM
POSTAL_CODE                     CHAR(5)          POSTAL_CODE_DOM
   .
   .
   .
SQL> ALTER TABLE COLLEGES
cont>   ADD RANKING INTEGER
cont>   ADD NUMBER_ALUMS INTEGER
cont>           QUERY_NAME IS 'ALUMS';
SQL> ALTER DOMAIN POSTAL_CODE_DOM CHAR(9);
SQL> SHOW TABLE COLLEGES;

Information for table COLLEGES

Comment on table COLLEGES:
names and addresses of colleges attended by employees

Columns for table COLLEGES:
Column Name                     Data Type        Domain
-----------                     ---------        ------
COLLEGE_CODE                    CHAR(4)          COLLEGE_CODE_DOM
 Primary Key constraint COLLEGES_PRIMARY_COLLEGE_CODE
COLLEGE_NAME                    CHAR(25)         COLLEGE_NAME_DOM
CITY                            CHAR(20)         CITY_DOM
STATE                           CHAR(2)          STATE_DOM
POSTAL_CODE                     CHAR(9)          POSTAL_CODE_DOM
RANKING                         INTEGER
NUMBER_ALUMS                    INTEGER
 Query Name:    ALUMS
   .
   .
   .

例3: デフォルト値の追加および変更


SQL> /* Add a default value to the column HOURS_OVERTIME
***> */
SQL> create table DAILY_SALES
cont>     (hours_overtime     int
cont>     ,hours_worked       int default 0
cont>     ,gross_sales        int
cont>     ,salesperson        char(20)
cont>     );
SQL>
SQL> /* Change the default value for the column HOURS_OVERTIME
***> */
SQL> alter table DAILY_SALES
cont>     alter column HOURS_OVERTIME
cont>   set default 0;
SQL>
SQL> /* Insert the days sales figures into the table,
***>    accepting the default values for HOURS_WORKED, and
***>    HOURS_OVERTIME
***> */
SQL> insert into DAILY_SALES (gross_sales, salesperson)
cont>     values (2567, 'Bartlett');
1 row inserted
SQL>
SQL> table DAILY_SALES;
 HOURS_OVERTIME   HOURS_WORKED   GROSS_SALES   SALESPERSON
              0              0          2567   Bartlett
1 row selected
SQL>

例4: EMPLOYEES表からの制約の削除

制約名を検索するには、SHOW TABLES文を使用します。SHOW TABLES文により、表の定義の一部として定義されている制約のみでなく、表を参照するすべての制約が表示されます。そのため、CONSTRAINT句を使用して制約名を割り当てる場合、制約に関連付けられている表を識別するには常に接頭辞を使用すると便利です。

このSHOW表示の制約DEGREES_FOREIGN1は、制約がEMPLOYEES表示に存在している場合でも、制約がEMPLOYEES表ではなくDEGREES表に関連付けられていることを示す表記規則に従います。


SQL> SHOW TABLE EMPLOYEES
Information for table EMPLOYEES

Comment on table EMPLOYEES:
personal information about each employee

Columns for table EMPLOYEES:
Column Name                     Data Type        Domain
-----------                     ---------        ------
EMPLOYEE_ID                     CHAR(5)          ID_DOM
 Primary Key constraint EMPLOYEES_PRIMARY_EMPLOYEE_ID
LAST_NAME                       CHAR(14)         LAST_NAME_DOM
FIRST_NAME                      CHAR(10)         FIRST_NAME_DOM
MIDDLE_INITIAL                  CHAR(1)          MIDDLE_INITIAL_DOM
ADDRESS_DATA_1                  CHAR(25)         ADDRESS_DATA_1_DOM
ADDRESS_DATA_2                  CHAR(20)         ADDRESS_DATA_2_DOM
CITY                            CHAR(20)         CITY_DOM
STATE                           CHAR(2)          STATE_DOM
POSTAL_CODE                     CHAR(5)          POSTAL_CODE_DOM
SEX                             CHAR(1)          SEX_DOM
BIRTHDAY                        DATE             DATE_DOM
STATUS_CODE                     CHAR(1)          STATUS_CODE_DOM

Table constraints for EMPLOYEES:
EMPLOYEES_PRIMARY_EMPLOYEE_ID
 Primary Key constraint
 Column constraint for EMPLOYEES.EMPLOYEE_ID
 Evaluated on COMMIT
 Source:
        EMPLOYEES.EMPLOYEE_ID PRIMARY KEY

EMP_SEX_VALUES
 Check constraint
 Table constraint for EMPLOYEES
 Evaluated on COMMIT
 Source:
        CHECK          (
                         SEX IN ('M', 'F', '?')
                         )

EMP_STATUS_CODE_VALUES
 Check constraint
 Table constraint for EMPLOYEES
 Evaluated on COMMIT
 Source:
        CHECK          (
                         STATUS_CODE IN ('0', '1', '2', 'N')
                         )

Constraints referencing table EMPLOYEES:
DEGREES_FOREIGN1
 Foreign Key constraint
 Column constraint for DEGREES.EMPLOYEE_ID
 Evaluated on COMMIT
 Source:
        DEGREES.EMPLOYEE_ID REFERENCES EMPLOYEES (EMPLOYEE_ID)

JOB_HISTORY_FOREIGN1
 Foreign Key constraint
 Column constraint for JOB_HISTORY.EMPLOYEE_ID
 Evaluated on COMMIT
 Source:
        JOB_HISTORY.EMPLOYEE_ID REFERENCES EMPLOYEES (EMPLOYEE_ID)

RESUMES_FOREIGN1
 Foreign Key constraint
 Column constraint for RESUMES.EMPLOYEE_ID
 Evaluated on COMMIT
 Source:
        RESUMES.EMPLOYEE_ID REFERENCES EMPLOYEES (EMPLOYEE_ID)


SALARY_HISTORY_FOREIGN1
 Foreign Key constraint
 Column constraint for SALARY_HISTORY.EMPLOYEE_ID
 Evaluated on COMMIT
 Source:
        SALARY_HISTORY.EMPLOYEE_ID REFERENCES EMPLOYEES (EMPLOYEE_ID)
   .
   .
   .
SQL> ALTER TABLE EMPLOYEES DROP CONSTRAINT EMP_SEX_VALUES;

例5: NOT NULL制約のEMPLOYEES表への追加


SQL> ALTER TABLE EMPLOYEES
cont>   ALTER BIRTHDAY
cont>   CONSTRAINT E_BIRTHDAY_NOT_NULL
cont>   NOT NULL;

EMPLOYEES表の行にNULLのBIRTHDAY列がある場合、ALTER文は失敗し、記述されている変更はいずれも実行されません。

例6: 表の列のキャラクタ・セットの変更

データベースは、データベースのデフォルト・キャラクタ・セットおよび識別子キャラクタ・セットをDEC_KANJI、各国語キャラクタ・セットをKANJIと指定して作成されたことを前提とします。また、ROMAJI列は識別子キャラクタ・セットを指定する表COLOURSで作成されたことを前提とします。