SYNOPSIS

BEGIN [ WORK | TRANSACTION ]

DESCRIPTION 描述

BEGIN 初始化一个事务块, 也就是说所有 BEGIN 命令后的用户语句都将在一个事务里面执行直到给出一个明确的 COMMIT [commit(7)] 或者 ROLLBACK [rollback(l)] 。缺省时,(没有 BEGIN),PostgreSQL 以 "autocommit" 模式执行事务,也就是说,每个语句在其自身的事务中执行, 并且在语句结束的时候隐含地执行一个提交(如果执行成功,否则执行回滚)。

在事务块里执行的语句很明显地快得多, 因为事务开始/提交(start/commit)需要大量的CPU和磁盘活动。 在一个 事务内部执行多条语句对于修改若干个相关的表的时候也是很有用的: 在所有相关的更新完成之前,其它会话看不到中间的状态。

PARAMETERS 参数

WORK
TRANSACTION
 可选关键字。没什么作用。

NOTES 注意

START TRANSACTION [start_transaction(7)] 有着和 BEGIN 一样的功能。

使用 COMMIT [commit(7)] 或 ROLLBACK [rollback(7)]
结束一个事务。

在一个现有事务块内部发出一个 BEGIN 将产生一个警告信息。 事务的状态将不会被影响。

EXAMPLES 例子

开始一个用户事务:

BEGIN;

COMPATIBILITY 兼容性

BEGIN 是 PostgreSQL 语言的扩展。 在 SQL 标准中没有明确的 BEGIN 的定义;事务初始化总是隐含的而且使用一个 COMMIT 或者 ROLLBACK 语句终止。

许多关系型数据库为了方便提供一个自动提交(autocommit)特性。

顺便说一句,BEGIN 关键字在嵌入 SQL 里用于不同的目的。 我们建议你在移植数据库应用时仔细检查事务的语义。

BEGIN - 开始一个事务块的更多相关文章

  1. START TRANSACTION - 开始一个事务块

    SYNOPSIS START TRANSACTION [ ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } ] [ READ WRITE | READ ...

  2. mysql一个事务中有DDL语句的binlog情况

      在autocommit=1的情况下,开启一个事务,如果里面有DDL语句,那么事务开始到DDL语句之间的DML语句都会被提交.再开启新的事务.可以从binlog中看出   session语句: 09 ...

  3. PL/SQL 一个数据对象一个事务(rollback,submit)

    /*********************************************** 一个数据对象一个事务(且记录错误信息到处理对象) ************************** ...

  4. mysql事务块处理

    begin ,rollback,commit .当然有的人用begin /begin work .推荐用START TRANSACTION 是SQL-99标准启动一个事务. start transac ...

  5. Dynamics CRM中的操作(action)是否是一个事务(transaction)?

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复168或者20151104可方便获取本文,同时可以在第一时间得到我发布的最新的博文信息,follow me! 以前的博文 微软Dynamics ...

  6. Oracle一个事务中的Insert和Update执行顺序

    今天碰到了一个奇怪的问题,是关于Oracle一个事务中的Insert和Update语句的执行顺序的问题. 首先详细说明下整个过程: 有三张表:A,B,C,Java代码中有一段代码是先在表A中插入一条数 ...

  7. python 控制语句基础---->代码块:以为冒号作为开始,用缩进来划分作用域,代表一个整体,是一个代码块,一个文件(模块)也称为一个代码块 | 作用域:作用的范围

    # ### 代码块:以为冒号作为开始,用缩进来划分作用域,代表一个整体,是一个代码块,一个文件(模块)也称为一个代码块 # ### 作用域:作用的范围 print(11) print(12) prin ...

  8. fread 不能读取最后一个数据块

    今天遇到一个问题,fread()竟然不能读取文件中的最后一个数据块. 我定义了一个结构体: Persong { char name[10]; char phone[15]; } 以及两个函数: int ...

  9. REQUIRES_NEW 如果不在一个事务那么自己创建一个事务 如果在一个事务中 自己在这个大事务里面在创建一个子事务 相当于嵌套事务 双层循环那种

    REQUIRES_NEW   如果不在一个事务那么自己创建一个事务 如果在一个事务中 自己在这个大事务里面在创建一个子事务  相当于嵌套事务 双层循环那种 不管是否存在事务,业务方法总会自己开启一个事 ...

随机推荐

  1. sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY

    原生API提供的匹配筛选.排序和分组配置和SQL语法提供的WHERE.ORDER BY和GROUP BY语句的效果是一样的,你可以对匹配结果进行你需要的筛选.排序和分组匹配.例如,如果你要搜索MySQ ...

  2. nginx 静态网站配置

    /************************************************************************************** * nginx 静态网站 ...

  3. 博弈论中的SG函数

    SG函数的定义: g(x) = mex ( sg(y) |y是x的后继结点 ) 其中mex(x)(x是一个自然是集合)函数是x关于自然数集合的补集中的最小值,比如x={0,1,2,4,6} 则mex( ...

  4. hdu3555(数位DP dfs/递推)

    Bomb Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submi ...

  5. hdu 3333(树状数组 + 离线操作)

    Turing Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. vue demo todo-list

    html <input type='text' v-model="todoItem" v-on:keyup.enter='addItem'> <ul> &l ...

  7. 【413】C 语言 Command line

    Command-Line Arguments All the executable programs above have a main(void) program more generally, e ...

  8. 摘抄 - JavaScript JSON的总结

    JSON 是用于存储和传输数据的格式,通常用于服务端向网页传递数据 什么是 JSON? JSON英文全称 JavaScript Object Notation(JavaScript 对象表示法),是一 ...

  9. 洛谷P4206 [NOI2005]聪聪与可可(期望dp+最短路)

    传送门 首先,猫的走位太飘了……只能预处理…… 先对每一个点跑一遍dijkstra跑出最短路,然后再预处理出$nxt[i][j]$表示当猫在$i$老鼠在$j$时猫下一步会走到哪里 然后考虑dp,设$d ...

  10. react hooks 全面转换攻略(三) 全局存储解决方案

    针对 react hooks 的新版本解决方案 一.redux维持原方案 若想要无缝使用原来的 redux,和其配套的中间件 promise,thunk,saga 等等的话 可以使用 redux-re ...