在 SQL Server/TSQL 中,您可以使用 ROLLBACK
语句来回滚动态 SQL 语句。ROLLBACK
语句用于撤销在当前事务中执行的所有更改,并将数据库恢复到事务开始之前的状态。
以下是一个简单的示例,说明如何在 SQL Server/TSQL 中回滚动态 SQL 语句:
BEGIN TRANSACTION;
-- 执行动态 SQL 语句
EXEC sp_executesql N'UPDATE MyTable SET MyColumn = 1 WHERE ID = 1';
-- 如果需要回滚,则执行以下语句
ROLLBACK TRANSACTION;
-- 如果不需要回滚,则执行以下语句
COMMIT TRANSACTION;
在这个示例中,我们首先使用 BEGIN TRANSACTION
语句开始一个新的事务。然后,我们使用 EXEC sp_executesql
语句执行动态 SQL 语句。如果需要回滚动态 SQL 语句,我们可以使用 ROLLBACK TRANSACTION
语句。如果不需要回滚,则可以使用 COMMIT TRANSACTION
语句提交事务。
需要注意的是,ROLLBACK
语句只能在 BEGIN TRANSACTION
和 COMMIT TRANSACTION
语句之间执行。如果您在事务之外尝试执行 ROLLBACK
语句,则会收到一个错误消息。
领取专属 10元无门槛券
手把手带您无忧上云