Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91761801
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761802
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761803
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761794
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761805
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761806
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761807
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761808
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761809
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761810
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761811
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761812
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761813
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761814
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761815
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761816
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761817
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761818
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761809
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761820
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761821
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761822
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761823
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761824
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761825
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761826
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761827
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761828
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761829
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761830
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761831
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761832
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761833
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761824
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761835
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761836
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761837
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761838
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761839
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761840
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761841
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761842
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761843
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761844
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761845
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761846
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761847
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761848
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761839
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761850
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761851
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks

DB2 9 应用开发(733 考试)认证指南,第 2 部分: DB2 数据操纵(7)-sdccf-ChinaUnix博客
  • 博客访问: 91761852
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-05-31 23:19:29

学习基本概念

developerWorks



管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129584) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129583) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129582) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129581) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129580) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129579) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129578) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129577) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129576) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129575) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129574) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129573) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129572) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129571) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129570) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129569) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129568) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129567) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129566) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129565) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129564) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129563) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129562) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129561) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129560) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129559) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129558) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129557) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129555) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129554) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129553) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129552) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129551) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129550) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129549) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129548) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129546) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129545) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129544) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129543) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129542) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129541) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129540) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129539) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129538) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129537) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129536) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129535) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129534) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~


管理工作单元

术语工作单元(UOW)和事务 的概念是同义的。工作单元被定义为作为单个原子操作执行的 0 到多个 SQL 查询。例如,当客户在 IBM 网站上进行一次在线购物时,必须执行三个步骤:

  1. 必须更新 IBM 网上商店的库存。
  2. 客户必须为所购买的商品付费。
  3. 必须配送客户购买的商品。

如果库存记录已经被更新,并且客户也已经付费,但是却没有创建一个装货单条目,会出现什么情况呢?不但客户会因为没有收到所购买的商品而生气,而且库存也出现了不一致的地方。因此,购买过程中的所有 SQL 查询都必须定义为一个单一的原子操作。

现在来看看一个 DB2 事务中需要有哪些步骤。在开始之前,必须建立与事务所使用的数据库的连接。

以一条可执行语句开始事务。一个事务中总会有一条可执行语句。如果程序在一个事务结束后又出现一条可执行语句,那么它将开始一个新的事务。下面是一些 可执行语句:

BEGIN DECLARE SECTION
END DECLARE SECTION
INCLUDE SQLCA
INCLUDE SQLDA
DECLARE CURSOR
WHENEVER

以以下方式结束事务:

COMMIT
ROLLBACK

COMMIT 语句结束事务,并使更改对其他进程可见。记住,应该定期地执行提交,并且要在程序终止之前单独地执行提交。在 Windows 操作系统中,如果没有显式地提交事务,DB2 将会自动回滚这些事务。在其他操作系统上,DB2 在程序终止期间会自动提交所有未决的事务。

ROLLBACK 语句使数据库回到事务运行之前的状态。回滚可以阻止将之前的事务提交之后的更改应用到数据库。这样可以确保要么事务中所有的操作被提交,要么都不提交。DB2 在以下情况下回滚更改:

  • 日志已满
  • 出现导致系统进程终止的情况

为了避免循环失败,在 ROLLBACK 语句之前使用 WHENEVER SQLWARNING CONTINUEWHENEVER SQLERROR CONTINUEROLLBACK 语句对宿主变量的内容没有影响。

应该采用以下步骤来终止应用程序:

  • 通过 COMMITROLLBACK 结束当前事务。
  • 通过发出 CONNECT RESET 语句释放连接。
  • 释放资源(例如临时存储、数据结构和共享内存等)

在一个应用程序中可以使用多个事务。在一次事务中,可以有多个到数据库的连接。





回页首


编程接口有两种类型的连接:事务型和非事务型。虽然 DB2 支持这两种概念,但是应该清楚,实际上到数据库的连接只有一种 —— 事务型连接。因此,每个 SQL 查询都是事务的一部分。当以非事务方式运行时,所使用的编程接口已经启用了一个称为自动提交(autocommit) 的功能,该功能在每个 SQL 操作完成后隐式地发出一条 COMMIT 语句。如果 UOW 要完成多个查询的话,切记不要启用 autocommit 功能。





回页首


保存点(savepoint)是用于当数据库请求失败时,撤销数据库管理系统(DBMS)所执行的工作的一种机制。保存点使非原子数据库请求行为变成原子的。如果在执行期间发生错误,保存点可用于撤销从事务开始到收到保存点回滚请求这段时间内事务所作出的更改。

保存点便于将多个 SQL 语句组合到单个可执行块中。在这个块中第一个子语句执行之前,需要先发出一个启动保存点块的请求。如果某个子语句发生错误,那么只需回滚那个子语句。这样可以提供比复合 SQL 语句更细的粒度,对于复合 SQL 语句,一个错误就会导致整个块发生错误,并回滚整个复合 SQL 语句。在保存点语句块的最后,可以释放保存点,也可以回滚到保存点。

现在来看一些用于创建和控制保存点的 SQL 语句。要设置一个保存点,可发出 SAVEPOINT SQL 语句。为了使代码更清晰,可以为保存点选择一个更有意义的名称。例如:

SAVEPOINT SAVEPOINT1 ON ROLLBACK RETAIN CURSORS

要释放一个保存点,可发出 RELEASE SAVEPOINT SQL 语句。例如:

RELEASE SAVEPOINT SAVEPOINT1

如果不用 RELEASE SAVEPOINT SQL 语句显式地释放保存点,那么它会在事务的最后自动释放。

要回滚到保存点,可发出 ROLLBACK TO SAVEPOINT SQL 语句。例如:

ROLLBACK TO SAVEPOINT SAVEPOINT1
阅读(129533) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~