先看一下 delete與truncate的區別首先書寫方式不一樣:
delete fromaatruncate table aa
具體區別:1。delete from後面可以寫條件,truncate不可以
2。delete from記錄是一條條刪的,所刪除的每行記錄都會進日誌,而truncate一次性刪掉整個頁,因此日至裡面只記錄頁釋放,簡言之,delete from更新日誌,truncate基本不,所用的事務日誌空間較少
3。delete from刪空表後,會保留乙個空的頁,truncate在表中不會留有任何頁
4。當使用行鎖執行 delete 語句時,將鎖定表中各行以便刪除。truncate始終鎖定表和頁,而不是鎖定各行。
5。如果有identity產生的自增id列,delete from後仍然從上次的數開始增加,即種子不變,而truncate後,種子會恢復初始
6。truncate不會觸發delete的觸發器,因為truncate操作不記錄各個行刪除
當表被清空後表和表的索引講重新設定成初始大小,而delete則不能。這個很有用~!
SQL Server 如何設定ID自增
對於已經建好的資料表,是不能在sql server management中進行視覺化的修改id為自增長,必須通過命令列來實現。自增列不能直接修改,必須將原有id列刪除,然後重新新增一列具有identity屬性的id欄位。比如你要修改的欄位名為id alter table 表名 drop column...
表資料中自增id如何獲取
1.自增表獲取自增id的方式大概有三種,scope identity ident current 和 identity,使用方式以及效果見下。2.效果展示 1 準備基礎資料 if object id n tb1 n u is not null drop table tb1 goif object i...
插入資料返回自增id值
1 先查詢自增id的值,然後在插入資料,可能存在插入重複的情況 2 使用returning子句 必須在儲存過程中使用 delete操作 returning返回的是delete之前的結果 insert操作 returning返回的是insert之後的結果 update操作 的returning語句是返...