oracle中delete与truncate的区别,SQL中的TRUNCATE和DELETE有什么区别

截断和删除之间的区别如下:

+----------------------------------------+----------------------------------------------+

|                Truncate                |                    Delete                    |

+----------------------------------------+----------------------------------------------+

| We can't Rollback after performing     | We can Rollback after delete.                |

| Truncate.                              |                                              |

|                                        |                                              |

| Example:                               | Example:                                     |

| BEGIN TRAN                             | BEGIN TRAN                                   |

| TRUNCATE TABLE tranTest                | DELETE FROM tranTest                         |

| SELECT * FROM tranTest                 | SELECT * FROM tranTest                       |

| ROLLBACK                               | ROLLBACK                                     |

| SELECT * FROM tranTest                 | SELECT * FROM tranTest                       |

+----------------------------------------+----------------------------------------------+

| Truncate reset identity of table.      | Delete does not reset identity of table.     |

+----------------------------------------+----------------------------------------------+

| It locks the entire table.             | It locks the table row.                      |

+----------------------------------------+----------------------------------------------+

| Its DDL(Data Definition Language)      | Its DML(Data Manipulation Language)          |

| command.                               | command.                                     |

+----------------------------------------+----------------------------------------------+

| We can't use WHERE clause with it.     | We can use WHERE to filter data to delete.   |

+----------------------------------------+----------------------------------------------+

| Trigger is not fired while truncate.   | Trigger is fired.                            |

+----------------------------------------+----------------------------------------------+

| Syntax :                               | Syntax :                                     |

| 1) TRUNCATE TABLE table_name           | 1) DELETE FROM table_name                    |

|                                        | 2) DELETE FROM table_name WHERE              |

|                                        |    example_column_id IN (1,2,3)              |

+----------------------------------------+----------------------------------------------+

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值