just do it.
Ok, we have the EMP table, we want to "drop" HIREDATE:
ops$tkyte@ORA806> create table emp as select * from scott.emp;
Table created.
ops$tkyte@ORA806>
ops$tkyte@ORA806> desc emp
Name Null? Type
------------------------------- -------- ----
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)
ops$tkyte@ORA806> rename emp to emp_table;
Table renamed.
ops$tkyte@ORA806> create or replace view emp
2 as
3 select empno, ename, job, mgr, sal, comm, deptno
4 from emp_table
5 /
View created.
ops$tkyte@ORA806> desc emp;
Name Null? Type
------------------------------- -------- ----
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
ops$tkyte@ORA806>
ops$tkyte@ORA806> insert into emp
2 ( empno, ename, job, mgr, sal, comm, deptno )
3 values
4 ( 1234, 'blah', 'x', null, 100, 200, 10 );
1 row created.
ops$tkyte@ORA806>
ops$tkyte@ORA806> update emp
2 set ename = 'halb' where empno = 1234;
1 row updated.
ops$tkyte@ORA806>
ops$tkyte@ORA806> delete from emp where empno = 1234;
1 row deleted.
<b>so, I ask you again -- what is the problem you anticipate here -- I've told you exactly what you need to do. Just do it? Column "gone"</b>