How To Add a New Column to an Existing Table with a Default Value

Q

How To Add a New Column to an Existing Table with a Default Value? - Oracle DBA FAQ - Managing Oracle Database Tables

✍: FYIcenter.com

A

If you want to add a new column to an existing table, and insert a default value in this column on all existing data rows, you can use the ALTER TABLE ... ADD statement with the DEFAULT clause. Here is an example script:

SQL> CREATE TABLE emp_dept_90 
  2  AS SELECT * FROM employees WHERE department_id=90;
Table created.

SQL> ALTER TABLE emp_dept_90
  2  ADD (vacation NUMBER DEFAULT 10);
Table altered.

SQL> SELECT first_name, last_name, vacation
  2  FROM emp_dept_90;
FIRST_NAME           LAST_NAME                   VACATION
-------------------- ------------------------- ----------
Steven               King                              10
Neena                Kochhar                           10
Lex                  De Haan                           10

As you can see, the "DEFAULT 10" clause did inserted 10 to all existing data rows.

2007-05-03, 4698👍, 0💬