2012-01-10 41 views
0

這是一個新的請求,因爲舊的請求無法刪除。將CONSTRAINT更改爲僅在插入時使用stored_prodedure(不在更新中)

我想改變一個約束,因此只使用一個stored_procedure當我插入並無法更新表

有沒有辦法做到這一點?

親切的問候。

+0

約束? *使用* SP?對不起,這是什麼意思?我從來沒有聽說過它,或*有*聽到過,但使用不同的名字。 (儘管我已經準備好找到一些簡單而知名的東西,但我自己也感到羞愧。)無論哪種方式,請解釋你在說什麼。 – 2012-01-10 21:54:39

回答

0

您可以使用INSTEAD OF觸發器來禁用CONSTRAINT,然後執行UPDATE。要禁用CONSTRAINT,您可以執行以下操作:

ALTER TABLE YourTable NOCHECK CONSTRAINT ConstraintName 

UPDATE...(FROM INSERTED) 

ALTER TABLE YourTable CHECK CONSTRAINT ConstraintName 
+0

好的,這是我正在尋找的,但我怎麼寫在中間的聲明? 更新(從插入)? 可以說「真實」的聲明是更新table_1 set name ='pelle',age = 32其中id = 283和名稱<>'' – Joe 2012-01-11 08:20:49

+0

看起來CONSTRAINT在觸發器之前作出反應... – Joe 2012-01-11 08:46:03

相關問題