SQL> CREATE TABLE TTTA ( A INTEGER,B INTEGER,C VARCHAR2(10),D INTEGER);
表已创建。
SQL> INSERT INTO TTTA VALUES (1,2,’3’,4);
已创建 1 行。
SQL> INSERT INTO TTTA VALUES (2,3,’4’,5);
已创建 1 行。
SQL> COMMIT;
提交完成。 ALTER TABLE TTTA SET UNUSED COLUMN C;
2、以下进行恢复
SQL> SELECT OBJ# FROM OBJ$ WHERE NAME=’TTTA’;
OBJ# ---------- 32067
SELECT COL#,INTCOL#,NAME FROM COL$ WHERE OBJ#=32067; COL# INTCOL# NAME ---------- ---------- ------------------------------ 1 1 A 2 2 B 0 3 SYS_C00003_08031720:09:55$ 被UNUSED的字段 3 4 D
SQL> SELECT COLS FROM TAB$ WHERE OBJ#=32067;
COLS ---------- 3 ------字段数变为3了
SQL> UPDATE COL$ SET COL#=INTCOL# WHERE OBJ#=32067;
已更新4行。
SQL> UPDATE TAB$ SET COLS=COLS+1 WHERE OBJ#=32067;
已更新 1 行。
UPDATE COL$ SET NAME=’C’ WHERE OBJ#=32067 AND COL#=3;
UPDATE COL$ SET PROPERTY=0 WHERE OBJ#=32067; SQL> COMMIT;
3、重启数据库 SQL> SELECT * FROM SCOTT.TTTA;
A B C D ---------- ---------- ---------- ---------- 1 2 3 4 [Page] 2 3 4 5