sql-server - 保存点上同名交易的问题
问题描述
我正在尝试学习 SQL Server 中的事务。
我从删除 Customer 表中的数据开始:
Delete from Customer
然后我创建了以下事务并具有相同名称的保存点:
BEGIN TRANSACTION
SAVE TRANSACTION SavePoint1
INSERT INTO Customer VALUES (1, 'Code_1', 'Ramesh')
INSERT INTO Customer VALUES (2, 'Code_2', 'Suresh')
SAVE TRANSACTION SavePoint1
INSERT INTO Customer VALUES (3, 'Code_3', 'Priyanka')
INSERT INTO Customer VALUES (4, 'Code_4', 'Preety')
SAVE TRANSACTION SavePoint3
INSERT INTO Customer VALUES (5, 'Code_5', 'John')
INSERT INTO Customer VALUES (6, 'Code_6', 'David')
ROLLBACK TRANSACTION SavePoint1
COMMIT TRANSACTION
现在我想,如果我有同名的保存点,并且我回滚到那个保存点,在本例中为 SavePoint1,它将回滚到最后一个具有该名称的事务。在我的例子中,它应该插入客户 Priyanka 和 Preety,它们在最后一笔交易中名为 SavePoint1。
但是,当我选择在我的 Customer 表中的事务之后运行所有记录时,它会显示第一批 SavePoint1 事务中的客户 Ramesh 和 Suresh。
我在这里错过了什么吗?
解决方案
推荐阅读
- javascript - 退出搜索结果页面后获取上一个搜索结果
- android - Genymotion 3.0.1 安装后卡住且无法启动
- ios - 打开 iOS Swift 应用程序后立即在 Safari 中重定向
- python - 激活venv并检查python和django版本后的Django语法错误
- java - Spring:如何使用注释从同一个类中创建两个不同的 bean?
- c# - 将 json 文件作为参数传递给方法
- c++ - 使用基类之一的构造函数,而其他基类在多重继承中没有默认构造函数
- node.js - 隐蔽 Node.js 加密 HMAC 到 Go-lang HMAC 加密
- django - Django 与 Vue,检测表单验证错误
- r - 通过 R 中的 grep 进行自由文本分类