Syntax error in setting unused column
-
06-02-2021 - |
Pregunta
I have a table named e_emp3
in Oracle with these fields among others:
- FNAME VARCHAR2(20 BYTE)
- SAL NUMBER(8,2)
- DEPTNO NUMBER(4,0)
I need to alter e_emp3
and set unused column(sal) with online keyword to stay dml operations for users on this table. I wrote this code:
alter table e_emp3 set unused(sal) online;
but I got the following error message
Please help me what is problem? When I run this code without online keyword it succeeds. When I add online keyword it fails.
Solución
Once you mark a column unusued
, there is no way back, just restore from backup.
Removing Unused Columns
The ALTER TABLE...DROP UNUSED COLUMNS statement is the only action allowed on unused columns. It physically removes unused columns from the table and reclaims disk space.
Otros consejos
the set unused
clause does not support the online
keyword:
As you can see in the syntax diagram, you can only use cascade constraints
or invalidate
The online
option is only valid for the move_table_clause