Oracle -操作数据库
删除数据:
delete:用delete删除记录,Oracle系统会产生回滚记录,所以这种操作可以使用ROLLBACK来撤销
truncate:删除数据时,不会产生回滚记录。所以执行速度相对较快些
可以reuse storage(保留记录所占用的空间) drop storage(立即回收记录占用的)
事务处理
事务是由一系列语句构成的逻辑工作单元。事务的重要属性:
A-Atomic:原子性,事务对数据库所做的操作要么全部执行,要么全部取消。
C-Consistency:一致性,事务完成时,必须使所有的数据都保持一致状态。
I-Isolated:隔离性,事务查看数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。
D-Durability:持久性,当事务提交后,对数据库所做的修改就会永久保存下来。
操作事务:Oracle 11g的事务是隐式自动开始的,它不需要用户显示地执行开始事务语句。但对于事务的结束处理,则需要用户进行指定的操作,通常在以下情况下,Oracle认为一个事务结束了。
1.执行COMMIT
2.执行ROLLBACK
3.执行一条数据定义语句,CREATE,DROP ALTER,如果执行成功,系统要么COMMIT,要么ROLLBACK
4.执行一个数据控制命令,GRANT REVOKE,这种操作执行完毕。系统自动执行COMMIT
5.正常地断开数据库的连接,正常地退出SQL *Plus环境。系统自动执行COMMIT;否则系统自动执行ROLLBACK
综合来看,Oracle结束一个事务归根结底要么执行COMMIT,要么执行ROLLBACK
a--提交事务(COMMIT)
Oracle系统会按照如下顺序进行处理:
1.在回滚段内记录当前事务已提交,并且声明一个系统编号(SCN),以唯一标识这个事务
2.启动后台的日志写入进程(LGWR),将SGA区中的重做日志缓冲区的数据和当前事务的SCN写入重做日志文件中。
3.Oracle服务器开始释放事务处理所使用的系统资源
4.显示通知,告诉用户事务已经成功提交
b--回滚事务(ROLLBACK)
回滚整个事务,Oracle系统内部将执行以下操作过程:
1.使用回滚段中的数据撤销对数据库所做的修改
2.Oracle后台服务进程释放掉事务所使用系统资源
3.显示通知,告诉用户回滚成功
可以回滚到部分, 可以使用(savepoint sp);来设置断点
Oracle -操作数据库的更多相关文章
- ADO.NET和ORACLE操作数据库传参数赋值的方式
在使用.Net使用OracleParameter进行Oracle数据库操作的时候,因为Oracle和SQLServer针对查询参数化的语法不同, 在操作SQLServer的时候使用的是@Paramet ...
- Oracle 操作数据库(增删改语句)
对数据库的操作除了查询,还包括插入.更新和删除等数据操作.后3种数据操作使用的 SQL 语言也称为数据操纵语言(DML). 一.插入数据(insert 语句) 插入数据就是将数据记录添加到已经存在的数 ...
- Oracle操作数据库oracleHelper
1 Oracle OracleHelper //============================================================================ ...
- 吴裕雄 python oracle操作数据库(4)
import cx_Oracle conn = cx_Oracle.connect("scott/admin@localhost:1521/orcl")cursor = conn. ...
- JDBC(用Eclipse操作数据库Oracle)的基础操作集合
JDBC: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编 ...
- 非常不错的ASP操作数据库类,支持多数据库MSSQL,ACCESS,ORACLE,MYSQL等
可同时操作多个不同类型的数据库. 完全不用考虑数据类型的差别,再也不用想字符型字段加不加单引号. 调用非常简单,对数据库的主要操作一般只需要一行代码. 支持mssql事务回滚. 可自动生成和输出sql ...
- Oracle 10g数据库备份与恢复操作手册
Oracle 10g数据库备份与恢复操作手册 目录 Oracle 10g数据库备份与恢复操作手册... 前言... 文档目的... 文档范围... 目标读者... 其他说明... 冷备份... 热备份 ...
- Oracle相关数据库操作
1.进入oracle后台操作 su - oracle 2.数据库备份的指定位置 Oracle用sys用户登录查询数据库 select * from dba_directories a where a. ...
- 菜鸡之NetCore 使用EF操作数据库 Oracle & Sqlserver (一)
摘要: 该篇文章主要记录netCore EFCore 如何操作Oracle和SqlServer 数据库,采用Codefirst方式创建数据库以及表. 一, 项目建立 项目采用DDD领域驱动设计模式[学 ...
随机推荐
- System的两常用个静态方法
package cn.learn; /* System类在java.lang.System,和操作系统有关 1.currentTimeMillis直接调用,是一个返回为long型的静态方法 常用来计算 ...
- 中标麒麟V6.0安装 mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
在中标麒麟6.0上安装mysql, 1.先从官网(https://dev.mysql.com/downloads/mysql/5.7.html#downloads)下载 . 我的选择如上图. 2.下载 ...
- bfs(标记整个棋盘)
1004 四子连棋 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在一个4*4的棋盘上摆放了14颗棋子,其中有7颗白色 ...
- tornado ioloop current和instance的一些区别
import tornado.ioloop # 此时_current没有instance print dir(tornado.ioloop.IOLoop._current) # 通过instance ...
- @RestController vs @Controller
package com.example.demo.controller; import java.util.HashMap; import java.util.Map; import org.spri ...
- go语言从例子开始之Example39.使用函数自定义排序
有时候我们想使用和集合的自然排序不同的方法对集合进行排序.例如,我们想按照字母的长度而不是首字母顺序对字符串排序.这里是一个 Go 自定义排序的例子. Example: package main im ...
- go语言从例子开始之Example34.速率限制
速率限制(英) 是一个重要的控制服务资源利用和质量的途径.Go 通过 Go 协程.通道和打点器优美的支持了速率限制. Example: package main import "fmt&qu ...
- iview中表单重置无效
<Form>组件的model属性必须与表单组件的v-model属性的绑定对象一致 <FormItem>的prop属性要与表单组件v-model绑定的对象的字段相对应 <F ...
- 牛客网NOIP赛前集训营-提高组(第七场)A-中国式家长 2
题目描述 有一天,牛牛找到了一个叫<中国式家长>的游戏,游戏中需要靠"挖脑洞"来提升悟性. 挖脑洞在一个\(N\)行\(M\)列的地图上进行,一开始牛牛有\(K\)点行 ...
- CF 187D BRT Contract
传送门 给了60分的nq暴力还是很资磁的!!! 基本上想的跟正解差不多了但是刚T2去了就没想细节QAQ 大概就是我们逆序求一下每一个点从0时刻开始走到终点需要用的时间f 我们需要找到它遇到的第一个红灯 ...