Oracle 10g的新特性:闪回技术

在Oracle 10g以后,为了预防用户的误删除表操做,专门提供了回收站的功能,用户所删除的表默认状况下会在一个回收站之中保存,而用户也能够经过回收站,进行表的恢复,因此此技术称为闪回(FLASHBACK);数据库

范例:查看回收站性能

SHOW RECYCLEBIN;

这个时候能够发现全部已经删除的表都在回收站之中保存,那么下面就可使用以下的语法恢复表:spa

FLASHBACK TABLE 表名称 TO BEFORE DROP;

范例:恢复myemp表code

FLASHBACK TABLE myemp TO BEFORE DROP;

固然,如今也能够直接删除掉回收站中的一些数据表,语法以下:orm

PURGE TABLE 表名称;

范例:删除回收站中的person表对象

PURGE TABLE person;

范例:清空回收站开发

PURGE RECYCLEBIN;

若是如今但愿删除一张表,而又不但愿其进入到回收站之中,则能够在删除的时候增长PURGE。it

DROP TABLE myemp PURGE;

这种技术是在Oracle 10g以后才有的,而Oracle 11g也是存在的。数据类型

问题:如今在回收站之中存在了一张tab表,然后又创建了一张tab表,那么若是从回收站中恢复的话,能够吗?语法

答:没法恢复。

8、修改表结构

若是一张创建好的数据表,发现其初期的结构已经不知足于后期的使用要求,则能够进行表的修改操做,而表的修改操做实际上就是数据库对象的修改操做,使用ALTER指令完成,例如,如今有以下一张表:

CREATE TABLE member (
     mid NUMBER,
     name VARCHAR2(50)
);

如今但愿能够向表中增长字段,因此此时能够采用以下的语法完成:

ALTER TABLE 表名称 ADD(列名称 数据类型 [DEFAULT 默认值],
  列名称 数据类型 [DEFAULT 默认值],…);

范例:为member表增长字段

ALTER TABLE member ADD(age NUMBER(3), birthday DATE DEFAULT SYSDATE);

若是增长的数据列没有默认值,则全部已有的数据的列的内容都是null,而若是增长的列指定了DEFAULT默认值的话,则全部已有的数据列都是设置的默认值。

如今也能够修改已有的表结构,此时的语法以下:

ALTER TABLE 表名称 MODIFY(列名称 数据类型 [DEFAULT 默认值],
  列名称 数据类型 [DEFAULT 默认值],…);

范例:将name字段的默认值定义为无名氏

ALTER TABLE member MODIFY(name VARCHAR2(100) DEFAULT '无名氏');

虽然在SQL语法之中以及Oracle数据库之中,都给出了修改表结构的操做,可是这种操做能不使用就不使用,从大型数据库来说,世界上性能最高的数据库是IBM DB2,可是IBM DB2自己有一个平台的限制问题,因此若是说是跨平台的数据库则是Oracle数据库的性能最高。

在IBM DB2数据库之中是不容许修改表结构的,即:表创建完成以后就不能修改了,因此之后在开发之中也尽量的不要去修改表结构。

相关文章
相关标签/搜索