Dav*_*der 56 sql sql-server transactions truncate sql-server-2005
可以在事务中使用SQL"truncate table"命令吗?我正在创建一个应用程序,我的表有大量的记录.我想删除所有记录,但如果应用程序失败,我将回滚我的事务.删除每条记录需要很长时间.我想知道我是否使用截断表,我是否仍然可以回滚事务并在发生故障时恢复数据.我意识到truncate table不会将每个删除写入事务日志,但我想知道它是否将页面释放写入日志以便回滚工作.
Jon*_*ler 16
在Oracle中,TRUNCATE TABLE是一个DDL语句,不能在事务中使用(或者更准确地说,不能回滚).AFAIK,如果在执行语句时正在进行事务,则提交事务,然后执行TRUNCATE且无法撤消.
在Informix中,TRUNCATE的行为略有不同; 您可以在事务中使用TRUNCATE,但在此之后允许的唯一语句是COMMIT和ROLLBACK.
其他DBMS可能对TRUNCATE TABLE的行为有自己的特殊解释.
| 归档时间: |
|
| 查看次数: |
20511 次 |
| 最近记录: |