关于事务处理

passionke 2003-10-17 12:23:28
USE pubs
BEGIN TRAN
SELECT COUNT(*) AS CountBefore FROM sales
TRUNCATE TABLE sales
SELECT COUNT(*) AS CountAfter FROM sales
GO
ROLLBACK TRAN
SELECT COUNT(*) AS CountAfterRollback FROM sales

结果如下:
CountBefore
------------
25

CountAfter
-----------
0

CountAfterback
-----------------
25

事务处理不是包含在BEGIN和COMMIT之间的吗,其中任何一条语句没执行就回滚,也可以根据条件用ROLLBACK强制回滚,上面的是怎么回事,另外程序中TRUNCATE TABLE sales是什么意思,第二个查询为什么是0
...全文
29 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cloudchen 2003-10-17
  • 打赏
  • 举报
回复
什么就是强制回滚啊!
Begin
...
Commit

Begin
...
Rollback

truncate table 是删除表中所有的行,而且不记录日志。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧