表の列名を変更する方法について



表の列名を変更する方法を2パタン紹介します。
説明には、emp表を使います。SAL列をSALARYに変更する例を説明します。
SQL> desc emp
 名前           NULL?    型
 -------------- -------- ----------------------------
 EMPNO          NOT NULL NUMBER(4)
 ENAME                   VARCHAR2(10)
 JOB                     VARCHAR2(9)
 MGR                     NUMBER(4)
 HIREDATE                DATE
 SAL                     NUMBER(7,2)
 COMM                    NUMBER(7,2)
 DEPTNO                  NUMBER(2)
  1. 表を作り直す方法
    SQL> CREATE TABLE temp_emp(empno, ename, job, mgr, hiredate, salary, comm, deptno)
    SQL>   AS SELECT empno, ename, job, mgr, hiredate, sal, comm, deptno FROM emp;
    
    SQL> DROP TABLE emp;
    
    SQL> RENAME temp_emp TO emp;
    
  2. Alter Table文を使う方法(Oracle 8i R8.1以降)
    SQL> ALTER TABLE emp ADD (salary NUMBER(7, 2));
    
    SQL> UPDATE emp SET salary = sal;
    
    SQL> ALTER TABLE emp DROP COLUMN sal;