Oracle 9i截断数据表

发表于:2007-07-02来源:作者:点击数: 标签:
截断操作的 SQL 语法如下。 ――――――――――――――――――――――――――――――――――――― TRUNCATE TABLE 用户名.表名 [DROP|REUSE STORAGE] ――――――――――――――――――――――――――――――――――――― 其中,若使用“D


    截断操作的SQL语法如下。
    ―――――――――――――――――――――――――――――――――――――
    TRUNCATE TABLE 用户名.表名 [DROP|REUSE STORAGE]
    ―――――――――――――――――――――――――――――――――――――
    其中,若使用“DROP STORAGE”子句,显式指明释放数据表和索引的空间。若使用“REUSE STORAGE”子句,显式指明不释放数据表和索引的空间。下面以截断数据表scott.director为例进行介绍。
    (1)在【SQLPlus Worksheet】中执行SQL代码,结果如图7.32所示。
    ―――――――――――――――――――――――――――――――――――――
    truncate table scott.director drop storage;
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:\第7章\truncatedirector.sql
    (2)结果表明无法完成截断操作。这是因为导师信息表是父表,研究生信息表引用导师信息表字段作为外码。
    (3)因此,必须首先将scott.student的外码关系失效。在【SQLPlus Worksheet】中执行下列代码。执行结果如图7.33所示。
    ―――――――――――――――――――――――――――――――――――――
    alter table scott.student
    disable constraint "导师编号外码";
    ―――――――――――――――――――――――――――――――――――――
    【参见光盘文件】:\第7章\ disableconstraint.sql。

    (4)重新在【SQLPlus Worksheet】中执行truncatedirector.sql,结果如图7.34所示。表明成功完成表的截断。

原文转自:http://www.ltesting.net