Is it possible to wrap a batch of dynamic SQL inside an explicit transaction with COMMIT or ROLLBACK depending on the value of @@ERROR? My dynamic sql is as follows:BEGIN SET @Sql = 'update dbo.'+@Campaign+' set STATUS = ''U'' where Order_Reference_Number = '''+@OrderNumber+'''; ' + ' delete from dbo.'+@CBTable+' where i3_identity = '+cast(@Ident as varchar(255))+'; insert dbo.'+@CBTable+' (workflowname, campaignname, siteid, i3_identity, schedtime, agentid, schedphone, schedccid) VALUES ('''+@CampaignType+''', '''+@CampaignType+''', '''', '+cast(@Ident as varchar(255))+', '''+cast(@CBDate as Varchar(30))+''', '''+@AgentName+''', '''+@Phonenum+''', -1); ' + ' update dbo.'+@Campaign+' set STATUS = ''S'' where Order_Reference_Number = '''+@OrderNumber+'''; '--print @sqlEXECUTE sp_executesql @SqlRETURNENDCan this be done?