用另外方法替代TRUNCATE TABLE

2021-09-08 21:21:47 字數 882 閱讀 6456

某些情況之下,我們需要做清除表的記錄。可以使用truncate函式實現,並讓自動增長的主鍵id重新開始。但是如果遇上表與其它表有關聯,即是說主鍵是其它表的外來鍵時,使用這個函式清除表記錄,會接收到一條error的資訊:

msg 4712, level 16, state 1, line 1

cannot truncate table 'dbo.topic' because it is being referenced by a foreign key constraint.

我們是否有其它替代方法可以使用呢?答案是肯定的。insus.net有寫了乙個儲存過程,即是使用delete 和 dbcc一起來完成。

ifobject_id('

[dbo].[insustruncate]') 

isnot

null

drop

procedure

[dbo].

[insustruncate]go

create

procedure

[dbo].

[insustruncate](

@tablename

nvarchar

(128

),@newreseedvalue

int)

a***ecute('

delete from '+

@tablename

)dbcc

checkident(

@tablename

, reseed, 

@newreseedvalue)

呼叫儲存過程演示:

execute

[dbo].

[insustruncate]'

dbo.topic',

0

替代方法 聲母替代 遺漏的矯治方法

本節課程 言語訓練的知識與技巧 之 聲母替代 遺漏的矯治方法 本期,馬老師講解了聲母替代 遺漏有哪些常見的出錯現象及具體矯治辦法,並進行詳細分析。聲母替代 遺漏的矯治方法 言語訓練的知識與技巧 主要講述了聽障兒童不同的 階段,言語訓練的內容 技巧與側重點。從 初期家長關心的聽能問題入手,講解聽能反應...

mysql like替代方法

select t.from xx area t where instr tree path,1 0 select from table where instr field,str 0 1.select name from temp where instr str,1 0 包括sonnyboy 和so...

用Emit技術替代反射

system.reflection.emit命名空間類可用於動態發出microsoft中間語言 msil 以便生成的 可以直接執行。反射也用於獲取有關類及其成員的資訊。換句話說,反射是一種技術,允許您檢查描述型別及其成員的元資料,你可能以程式設計方式訪問過元件物件模型型別庫,net中的反射非常相似,...