Oracle数据库管理、开发与实践 教学课件 作者 杨永健 刘尚毅 第8章 数据表对象.pptVIP

Oracle数据库管理、开发与实践 教学课件 作者 杨永健 刘尚毅 第8章 数据表对象.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.3.5 删除表 数据表在创建之后,根据实际需求情况,用户还可以将其删除。但需要注意的是,一般情况下用户只能删除自己模式中的表,如果要删除其它模式中的表,则必须具有DROP ANY TABLE系统权限。删除表通常使用DROP TABLE语句,其语法格式如下: drop table table_name [cascade constraints]; 参数table_name表示要删除的表名称。如果该表存在约束、关联的视图和触发器等,则必须使用“cascade constraints”这个可选的子句才能将其删除。 删除表与删除表中的所有数据不同,当用使用DELETE语句进行删除操作时,删除的仅是表中的数据,该表的数据结构仍然存在于子数据库中;DROP TABLE语句删除表的定义时,不仅表中的数据将丢失,而且该表的定义信息(数据结构)也将从数据库中删除,用户就再也不可以向该表中添加数据了,因为该表对象在数据库中已经不存在了。 在删除一个表的结构时,通常Oracle会执行以下操作。 删除表中所有的数据。 删除与该表相关的所有索引和触发器。 如果有视图或PL/SQL过程依赖于该表,这些视图或PL/SQL过程将被置于不可用状态。 从数据字典中删除该表的定义。 回收为该表分配的存储空间。 DROP TABLE语句有一个可选子句CASCADE CONSTRAINTS。当使用该参数时,DROP TABLE不仅仅删除该表,而且所有引用这个表的视图、约束或触发器等也都被删除,如下面的例子。 8.3.6 修改表的状态 Oracle 11g推出了一个新的特性,用户可以将表置于READ ONLY(只读)状态。处于该状态的表不能执行DML和某些DDL操作。在Oracle 11g之前,为了使某个表处于READ ONLY状态,只能通过整个表空间或者数据库置于READ ONLY状态,这样影响范围太大,不利益实际操作。对于如何设置表的状态,下面来看几个例子。 【例8-21】 将表students_5置于只读的read only状态,代码及运行结果如下。 SQL alter table students_5 read only; 表已更改。 接下来,可以在user_tables中查询该表的状态,如图8-12所示,表students_5现在的状态为只读。 图8-12 查询表students_5的状态 对于处于READ ONLY状态的表,用户不能执行DML操作,如下面例子。 【例8-22】 尝试把students_5表中学号大于5000的学生性别都修改为“男”,代码及运行结果如下。 SQL update students_5 set sex = 男 2 where stuno 5000; update students_5 set sex = 男 * 第 1 行出现错误: ORA-12081: 不允许对表 SYSTEM.STUDENTS_5 进行更新操作 从运行结果中可以看出,处于只读状态的表不能执行DML操作。但可以将处于只读状态的表从一个表空间移动到另一个表空间,如下面的例子。 【例8-23】 把表students_5从tbsp_1表空间移动到tbsp_2表空间,代码及运行结果如下。 SQL alter table students_5 move tablespace tbsp_2; 表已更改。 另外,处于READ ONLY状态的表,用户还可以将其重新置于可读写的READ WRITE 状态,如下面的例子。 【例8-24】 把表students_5从read only状态更改为read write状态,代码及运行结果如下。 SQL alter table students_5 read write; 表已更改。 这时,再通过数据字典user_tables来查询students_5的状态,就会发现students_5的状态变为可读写(read write)状态,如图8-13所示。 图8-13 查询表students_5的状态 8.4 数据完整性和约束性 8.4.1 非空约束 8.4.2 主键约束 8.4.3 唯一性约束 8.4.4 外键约束 8.4.5 禁用和激活约束 8.4.6 删除约束 非空约束就是限制必须为某个列提供值。空值(NULL)是不存在值,它既不是数字0,也不是空字符串,而是不存在、未知的情况。 在表中,若某些字段的值是不可缺少的,那么就可以为该列定义非空约束。这样当插入数据时,如果没有为该列提供数据,那么系统就会出现一个错误消息。 如果某些列的值是可有可无的,那么可以定义这些列允许空值。这样,在插入数据时,就可以不

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档