「Oracle」テーブルの列をNULL可能に変更する方法

環境
Oracle Database 11g Release 11.2.0.1.0 – 64bit Production

構文
ALTER TABLE テーブル名 MODIFY(項目名 NULL);
「alter table」を使って、テーブルの列をNULLにします。

使用例
1.テーブルを作成します

CREATE TABLE USERTEST
( "USERID"   NUMBER(8,0), 
  "USERNAME"  VARCHAR2(30) NOT NULL, 
  "REGTIME" TIMESTAMP,  
  PRIMARY KEY ("USERID")
);

説明
ユーザーID(USERID): number型です。整数8桁を指定しています。
ユーザー名(USERNAME): NOT NULL制約を付けます
登録日時(REGTIME): TIMESTAMP型
ユーザーID(USERID):プライマリーキーを指定します

操作例

SQL> CREATE TABLE USERTEST
  2  ( "USERID"   NUMBER(8,0),
  3    "USERNAME"  VARCHAR2(30) NOT NULL,
  4    "REGTIME" TIMESTAMP,
  5    PRIMARY KEY ("USERID")
  6  );

表が作成されました。

2.テーブルの列をNULLに変更します
テーブルの項目名の「USERNAME」をNULLに変更しています。

SQL> ALTER TABLE USERTEST MODIFY(USERNAME NULL);

表が変更されました。

3.テーブルの列定義を確認します
書式
desc テーブル名
操作例

SQL> desc usertest;
 名前                                    NULL?    型
 ----------------------------------------- -------- ----------------------------
 USERID                                    NOT NULL NUMBER(8)
 USERNAME                                           VARCHAR2(30)
 REGTIME                                            TIMESTAMP(6)

 

Oracle

Posted by arkgame