用于创建回滚点并回滚到该特定点的SQL查询
根据我的项目要求,我想执行两个操作用于创建回滚点并回滚到该特定点的SQL查询,sql,sql-server,commit,rollback,Sql,Sql Server,Commit,Rollback,根据我的项目要求,我想执行两个操作 密码更改 解锁帐户(仅解锁帐户,不更改密码!) 我只希望在两个事务都成功时返回success。如果密码更改成功而解锁失败,则我无法发送成功或失败。因此,我想在更改密码之前创建一个回滚点,如果两个查询都成功执行,我将提交事务。如果其中一个查询失败,我将通过回滚到回滚点来放弃更改。我在用C++做这件事。是否有任何SQL查询,使用我可以创建回滚点并还原到回滚点并提交事务 我使用下面的命令 密码更改 ALTER LOGIN [username] WITH PASSWO
ALTER LOGIN [username] WITH PASSWORD = N'password'
用于解锁帐户
ALTER LOGIN [%s] WITH CHECK_POLICY = OFF
ALTER LOGIN [%s] WITH CHECK_POLICY = ON
提前谢谢
Santhosh一些SQL支持事务。将查询放在事务块中。如果块内的任何查询失败,则全部回滚。以下是MySQL的外观:
BEGIN;
ALTER this CHANGE that;
...
COMMIT;
有些SQL支持事务。将查询放在事务块中。如果块内的任何查询失败,则全部回滚。以下是MySQL的外观:
BEGIN;
ALTER this CHANGE that;
...
COMMIT;
DDL语句的本质是每一条语句都构成自己的离散事务。可以这样想:在DDL语句开始时发出一个COMMIT,在语句成功完成后发出另一个COMMIT。没有回滚成功的DDL语句的选项 但是,将允许您将密码更改和解锁语句合并为一个:
ALTER LOGIN [username] WITH PASSWORD = 'password' UNLOCK ;
没有一条语句可以在不更改密码的情况下解锁密码,因此对于该选项,您需要按照您描述的方式切换CHECK_选项。DDL语句的本质是每一条语句都构成自己的离散事务。可以这样想:在DDL语句开始时发出一个COMMIT,在语句成功完成后发出另一个COMMIT。没有回滚成功的DDL语句的选项 但是,将允许您将密码更改和解锁语句合并为一个:
ALTER LOGIN [username] WITH PASSWORD = 'password' UNLOCK ;
没有一条语句可以在不更改密码的情况下解锁密码,因此对于该选项,您需要按照描述的方式切换CHECK_选项