January 22, 2011

Alter Table

Table yang sudah didefinisikan sering kali mengalami perubahan pada saat sebuah aplikasi dikembangkan. Apakah perubahan tersebut menambah kolom ataupun mengganti tipe data. Disini ORACLE mempunyai fungsi yang dapat digunakan untuk melakukannya yaitu ALTER TABLE.

Alter Table, merupakan fungsi yang digunakan untuk melakukan modifikasi pada table. Modifikasi yang bisa dilakukan antara lain adalah modifikasi kolom dan tipe data, modifikasi constraint dan index, dll yang terkait dengan modifikasi table. Berikuti ini contoh penggunaan fungsi tersebut :

1. Menambah kolom

sql> desc EMP;
Name            Null?    Type       
--------------- -------- -------------
EMP_ID                   NUMBER
EMP_NAME                 VARCHAR2(20)
HIREDATE                 DATE
STATUS                   CHAR(1)

sql> alter table EMP add (CREATION_DATE DATE, CREATED_BY NUMBER);

Table altered.

sql> desc EMP;
Name            Null?    Type       
--------------- -------- -------------
EMP_ID                   NUMBER
EMP_NAME                 VARCHAR2(20)
HIREDATE                 DATE
STATUS                   CHAR(1)
CREATION_DATE            DATE
CREATED_BY               NUMBER


2. Menghapus kolom

sql> alter table EMP drop column CREATED_BY;

Table altered.

sql> desc EMP;
Name            Null?    Type       
--------------- -------- -------------
EMP_ID                   NUMBER
EMP_NAME                 VARCHAR2(20)
HIREDATE                 DATE
STATUS                   CHAR(1)
CREATION_DATE            DATE


3. Mengganti tipe data

sql> alter table EMP modify (EMP_NAME VARCHAR2(50));

Table altered.

sql> desc EMP;
Name            Null?    Type       
--------------- -------- -------------
EMP_ID                   NUMBER
EMP_NAME                 VARCHAR2(50)
HIREDATE                 DATE
STATUS                   CHAR(1)
CREATION_DATE            DATE


4. Membuat constraint

sql> alter table EMP add constraint EMP_PK Primary Key (EMP_ID);

Table altered.

sql> desc EMP;
Name            Null?    Type       
--------------- -------- -------------
EMP_ID          NOT NULL NUMBER
EMP_NAME                 VARCHAR2(50)
HIREDATE                 DATE
STATUS                   CHAR(1)
CREATION_DATE            DATE

No comments:

Post a Comment