DDL, DML不是所有SQL都是可以自动回滚的

简介: 因为DDL没有事务性,所以DDL不能回滚。 要实现自动回滚。(begin,commit,rollback),则SQL语句中只能包括DML。 这样,自动化发布就会受限规范格式。 故而,一刀切的办法是,假定所有SQL不支持事务,自已定义好ROLLBACK的SQL脚本,在出错时能用代码回滚, 而不是依赖于数据库本身的功能。

因为DDL没有事务性,所以DDL不能回滚。

要实现自动回滚。(begin,commit,rollback),则SQL语句中只能包括DML。

这样,自动化发布就会受限规范格式。

故而,一刀切的办法是,假定所有SQL不支持事务,自已定义好ROLLBACK的SQL脚本,在出错时能用代码回滚,

而不是依赖于数据库本身的功能。

========================

DDL和DML

DDL (Data Definition Language 数据定义语言)
create table 创建表    
alter table  修改表   
drop table 删除表   
truncate table 删除表中所有行    
create index 创建索引   
drop index  删除索引 
当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。 
DML (Data Manipulation Language 数据操作语言)
insert 将记录插入到数据库 
update 修改数据库的记录 
delete 删除数据库的记录 
当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。
目录
相关文章
|
20天前
|
SQL 关系型数据库 MySQL
数据库开发之SQL简介以及DDL的详细解析
数据库开发之SQL简介以及DDL的详细解析
32 0
|
6月前
|
SQL 关系型数据库 MySQL
【MySQL入门到精通-黑马程序员】MySQL基础篇-SQL概述及DDL
(精度指数的所有位数;标度指小数点后数的位数) 字符串类型
63 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL基本SQL语句2(DML)
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进 行增、删、改操作。DML语句主要分为三个大类 本章做演示使用的是上一章创建的表,MySQL基本SQL语句1(DDL) 下面是原本数据库表中的内容 我们使用命令对表进行两个修改如果是需要对全表都进行修改的话,就不需要写条件语句where 此处删除id为1的数据,和前边的修改语句一样,在where后面加入条件 此处删除所有数据,就没有条件了,因此不用写where DML语句是对基
43 1
|
6月前
|
SQL 关系型数据库 MySQL
MySQL基本SQL语句1(DDL)
SQL(Structured Query Language)结构化查询语言,用于存取,查询,更新数据以及管理关系型数据库系统SQL指令分为四类DDL Data Defintion language 数据库定义语言 用于完成对数据库对象(数据表,数据库,视图,索引)的创建,删除,修改 DML Data Manipulation language 数据操作语言 用于完成对数据表中的数据添加,删除,修改 DQL
48 0
|
5月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
90 0
|
7月前
|
SQL 安全 数据库
深入理解SQL的数据操作语言(DML)
SQL(Structured Query Language)是一种用于管理和操作关系数据库的强大语言。SQL语言被分为多个子语言,其中之一是DML(Data Manipulation Language),用于执行与数据的操作和管理相关的任务。在本文中,我们将深入探讨DML的各个方面,从基础操作到高级技巧,以帮助初学者更好地理解和使用SQL的DML。
174 1
|
8月前
|
SQL 存储 数据库
OBCP第三章 SQL引擎高级技术-DML语句处理
OBCP第三章 SQL引擎高级技术-DML语句处理
45 0
|
11天前
|
SQL 关系型数据库 MySQL
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
|
2月前
|
SQL 关系型数据库 MySQL
Flink 提供了一种名为 Flink SQL 的查询语言,它支持多种数据库之间的 DDL 语句转换
【2月更文挑战第18天】Flink 提供了一种名为 Flink SQL 的查询语言,它支持多种数据库之间的 DDL 语句转换
174 2
|
5月前
|
SQL 关系型数据库 MySQL
Mysql数据库 3.SQL语言 DML数据操纵语言 增删改
Mysql数据库 3.SQL语言 DML数据操纵语言 增删改
43 0