我通过SQL Server Manager对记录进行了一些更新.
由于Update语句没有显式提交,我试图手动编写它.
Update mytable
set status=0;
Commit;
Run Code Online (Sandbox Code Playgroud)
我收到消息,因为提交没有开始交易
SWe*_*eko 40
SQL Server Management Studio已启用隐式提交,因此将隐式提交所有执行的语句.
如果你来自Oracle背景,默认情况下不会自动提交命令,这可能是一个可怕的事情,但这并不是一个问题.
如果您仍想使用临时事务,则可以始终执行
BEGIN TRANSACTION
Run Code Online (Sandbox Code Playgroud)
在SSMS中,并且系统等待您提交数据.
如果要复制Oracle行为并启动隐式事务,则只要发出某个DML/DDL,就可以设置SET IMPLICIT_TRANSACTIONS复选框.
Tools -> Options -> Query Execution -> SQL Server -> ANSI
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118221 次 |
| 最近记录: |