zoukankan      html  css  js  c++  java
  • BEGIN

    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 里用于不同的目的。 我们建议你在移植数据库应用时仔细检查事务的语义。 

  • 相关阅读:
    理解Python闭包,这应该是最好的例子
    2021-01-31
    论unity中UI工具与GUI函数
    2021-01-31
    第八届“图灵杯”NEUQ-ACM程序设计竞赛(全题解&&详细)
    第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛(同步赛)全题解
    Go-快速排序
    网络地址转换NAT原理及其作用
    解析私有IP地址和公网IP地址
    first blog
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11076475.html
Copyright © 2011-2022 走看看