SQL主要程序设计语言

数据定义语言DDL(Data Definition Language) 如 create、alter、drop,

数据操作语言DML(Data Munipulation Language) 如 insert、update、delete,

数据控制语言DCL(Data Control Language) 如 grant、revoke

Connection conn = DBUtil.getConnection();
Statement st = null;
try {
conn.setAutoCommit(false); //关闭自己主动提交
st = conn.createStatement();
st.executeUpdate("alter table test rename column name to name2"); //①直接commit
st.executeUpdate("alter table test rename column address too address2"); //②有益将to写为too
conn.commit();
} catch (SQLException e) {
try {
conn.rollback(); //③回滚
} catch (SQLException e1) {
e1.printStackTrace();
}
} finally {
DBUtil.closeAll(null, st, conn);
}

上面样例是运行改动字段名称 ①正常运行,在②语句中有益产生错误。报异常然后跳到③

最后结果是 address未做改动,name已经改动为了name2

Oracle在运行DDL语句时会先运行commit。所以就不能对DDL语句进行回滚

假设非要进行回滚的话,可进行反向操作,就是在②出错的时候再将①中的name改回去

假设语句非常多的话,未免太麻烦。

不知道有没有方法可解决

作者:itmyhome

关于Oracle处理DDL和DML语句的事务管理的更多相关文章

  1. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

  2. Oracle数据库 数据完整性和DML语句

    数据完整性和DML语句 数据完整性 数据完整性(Data Integrity)是指数据的精确性(Accuracy) 和可靠性(Reliability).它是应防止数据库中存在不符合语义规定的数据和防止 ...

  3. DDL与DML语句

    1. DDL语句 SQL语句:结构化查询语句,使用SQL与数据库“沟通”,完成相应的数据库操作. l DDL:数据定义语言,用来维护数据库对象 1.1 创建表 Ø CREATE:创建表 演示:创建员工 ...

  4. Oracle的DDL、DML、DCL

    DDL (Data Definition Language 数据定义语言) create table 创建表 alter table 修改表 drop table 删除表 truncate table ...

  5. 入门MySQL——DML语句篇

    前言:  在上篇文章中,主要为大家介绍的是DDL语句的用法,可能细心的同学已经发现了.本篇文章将主要聚焦于DML语句,为大家讲解表数据相关操作. 这里说明下DDL与DML语句的分类,可能有的同学还不太 ...

  6. oracle中DDL DML指什么?

    DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop in ...

  7. oracle DML语句

    DML语句 1.  插入数据 创建一个新表 create table new_cust as select * from customers --使用insert语句添加行 /* 确定要插入的行所在的 ...

  8. Mysql 数据库操作之DDL、DML、DQL语句操作

    Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l  Show databases 查看数据库列表信息 l  查看数据库中的数据表信息 ,格式: use 数据库名: sh ...

  9. dml语句和ddl语句 区别

    delete from user删除所有记录,属于dml语句,一条记录一条记录删除.事务可以作用在dml语句上的 truncate table user;删除所有记录,属于ddl语句,将表删除,然后重 ...

随机推荐

  1. [原创]Faster R-CNN论文翻译

    Faster R-CNN论文翻译   Faster R-CNN是互怼完了的好基友一起合作出来的巅峰之作,本文翻译的比例比较小,主要因为本paper是前述paper的一个简单改进,方法清晰,想法自然.什 ...

  2. 【最新版】从零开始在 macOS 上配置 Lua 开发环境

    脚本语言,你可能更需要的是 Lua 不同的脚本语言有不同的特性,第一接触的脚本语言,可能会影响自己对整个脚本语言的理解和认知.我以前接触最多的脚本语言是 JavaScript.后果就是:我一度以为脚本 ...

  3. main之前初始化流程

    main之前初始化流程 本文分别介绍Keil调用的ARMCC以及ARM-NONE-EABI-GCC两个编译器在main之前的操作: Keil MDK启动文件 总结一下MDK的启动流程: 1.系统初始化 ...

  4. C#编写的艺术字类方法

    代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing ...

  5. 【原创】使用workstation安装Xenserver 6.5+cloudstack 4.10----本地存储模式

    1. 背景: 近期由于项目和个人学习得需求,开始接触到Cloudstack,虽然云计算概念在大学刚毕业的时候就已经略有耳闻,但是由于工作原因,也一直没有了解,下班后想自己折腾下cloudstack,便 ...

  6. 分布式网络文件系统--MooseFS

    一.介绍 1.简介 MooseFS是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理服务器或单独磁盘或分区上,确保一份数据有多个备份副本.对于访问的客户端或者用户来说,整个分布式网 ...

  7. 使用webpack配置vue项目代理 (超简单)

    我们都知道,前端开发跨域是一个很常见的问题,当然跨域的方法也有很多,现在我就给大家分享一个在vue项目中如何使用webpack做代理,步骤简单,操作方便,本人亲测,巨好使

  8. react-router 3 中的 useRouterHistory(createHistory) 到了 react-router 4 变成了什么?

    react-router 3 文档: https://github.com/ReactTraining/react-router/blob/v3/docs/API.md react-router 4 ...

  9. CTF线下攻防赛

    SSH登陆 两三个人进行分工,一个粗略的看下web,有登陆口的话,就需要修改密码,将情况反馈给队友,让登陆ssh的小伙伴进行密码的修改,改成炒鸡复杂.然后将Web目录下载下来,上WAF.文件监控.端口 ...

  10. .net中ThreadPool与Task的认识总结

    线程池和Task是多线程编程中两个经常使用的技术,大家在熟悉不过了.他们有什么关联关系?Task又是怎么工作的呢?估计很多时候会犯糊涂.通过翻阅资料,终于弄明白了,与大家分享一下.   工作线程与I/ ...