国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > sybase > SybaseIQ语句之BEGIN ATOMIC子句

SybaseIQ语句之BEGIN ATOMIC子句

来源:程序员人生   发布时间:2014-02-16 09:18:08 阅读次数:5570次

在SQL语句中复合语句BEGIN END,还有一种类型,就是原子语句,形式如:
BEGIN  ATOMIC
END
原子语句就是完全执行、或者根本不执行的语句。
举例来说:
BEGIN  ATOMIC
   UPDATE Employees
      SET ManagerID = 501
    WHERE EmployeeID = 467;

   UPDATE Employees
      SET ManagerID = 502
    WHERE EmployeeID = 409;
END;

上面的例子中,原子语句中执行两个UPDATE操作,
1)第一个更新执行OK,如果第二个更新操作报错,那么两个UPDATE都不执行。
2)只有在两个UPDATE都能顺利执行,那么,这个原子子句就是完全执行。
需要注意的是,在原子子句中不允许出现commit子句。

还需要强调的是一点,原子子句也是包含在事务中的,所以必须在事务提交之后,原子子句的执行结果才能生效,如果事务执行过程中出错了,那么原子子句也是要做回滚的,而根本不执行。

作者“yangyoupeng-cn-fujitsu-com”

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生