暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 19C Oracle数据库如何处理DDL

原创 Asher.HU 2021-02-04
1074

Oracle数据库对DDL的处理不同于DML。

例如,当您创建表时,数据库不会优化该CREATE TABLE语句。而是,Oracle数据库解析DDL语句并执行命令。

数据库对DDL的处理方式有所不同,因为它是在数据字典中定义对象的一种方式。通常,Oracle数据库必须解析并执行许多递归SQL语句才能执行DDL语句。假设您创建一个表,如下所示:

CREATE TABLE mytable (mycolumn INTEGER);

通常,数据库将运行许多递归语句来执行前面的语句。递归SQL将执行以下操作:

  • COMMIT在执行CREATE TABLE语句 之前发出
  • 验证用户特权足以创建表
  • 确定表应驻留在哪个表空间中
  • 确保未超过表空间配额
  • 确保架构中没有任何对象具有相同的名称
  • 将定义表的行插入数据字典
  • 问题一COMMIT,如果DDL语句成功或者ROLLBACK如果它没有

也可以看看:

《 Oracle数据库开发指南》以了解有关处理DDL,事务控制和其他类型的语句的信息

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论