全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1007
推到 Plurk!
推到 Facebook!

如何阻止MSSQL Trigger 觸發?

缺席
SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-14 18:39:51 IP:203.198.xxx.xxx 未訂閱

我的DB Server 是 Microsoft SQL Server 2000
裏有兩個Table A, B

TableA(AField1,AField2)
TableB(BField1,BField2)

- 當update A 時會引發Table A 裏的update trigger, 之後自動update TableB 的 BField2 裏的value
- 我有個store procedure

1 CREATE PROCEDURE dbo.spUpdateVale (@Value varchar(10)) AS
2 BEGIN
3 update tableA set AField2= @Value
4 update tableB set BField2= @Value
5 END

我想在line3 update Table A 之前關閉TableA裏的trigger......應如何做? Thanks




SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-15 10:50:40 IP:202.82.xxx.xxx 未訂閱

我自已解決了是這樣

[Disble trigger]
ALTER TABLE your_table_name DISABLE TRIGGER your_trigger_name

[Enable trigger]
ALTER TABLE your_table_name ENABLE TRIGGER your_trigger_name

SuperLowB
初階會員


發表:96
回覆:77
積分:34
註冊:2003-06-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-07-15 10:54:58 IP:202.82.xxx.xxx 未訂閱

===================引 用 文 章===================

我的DB Server 是 Microsoft SQL Server 2000
裏有兩個Table A, B

TableA(AField1,AField2)
TableB(BField1,BField2)

- 當update A 時會引發Table A 裏的update trigger, 之後自動update TableB 的 BField2 裏的value
- 我有個store procedure

1 CREATE PROCEDURE dbo.spUpdateVale (@Value varchar(10)) AS
2 BEGIN
3 update tableA set AField2= @Value
4
5 update tableB set BField2= @Value
6 END

我想在line3 update Table A 之前關閉TableA裏的trigger......應如何做? Thanks
==========================================================================

寫成這樣:
1 CREATE PROCEDURE dbo.spUpdateVale (@Value varchar(10)) AS
2 BEGIN
3 ALTER TABLE TableA DISABLE TRIGGER tableA_trigger1
4 update tableA set AField2= @Value
5 ALTER TABLE TableA ENABLE TRIGGER tableA_trigger1
6
7 update tableB set BField2= @Value
8 END




系統時間:2024-05-19 5:58:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!