  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		kechange
 
 
  註冊時間: 2004-12-16 文章: 81
 
  第 1 樓
  | 
		
			
				 發表於: 星期一 二月 14, 2005 6:24 pm    文章主題: SQL TRIGGER 問題 | 
				     | 
			 
			
				
  | 
			 
			
				我之前用 DBF 寫時.我都在頭檔的DBF裡加上TRIGGER功能,以便我在修改與刪除時.可以自動控制頭檔與明細檔之間的關係.
 
 
例如頭檔刪除時.明細檔自動全部刪除....頭檔修改主單號時.明細檔的主單號也自動修改...
 
 
我現在改用 SQL 來寫了..我用  CREATE TRIGGER 弄了半天.都弄不出來..
 
 
有沒有高手可以教我一下..如何在 SQL SERVER 裡.做到修改與刪除之 TRIGGER . | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		cchvfp
 
 
  註冊時間: 2003-07-05 文章: 18
 
  第 2 樓
  | 
		
			
				 發表於: 星期二 二月 15, 2005 10:53 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				很早以前寫的,參可一下,另外你可參考SQL HELP裡面的說明也非常清楚
 
 
/****** Object:  Trigger dbo.TRI_DEL_AR_EXCH    Script Date: 1999/3/5 AM 11:51:41 ******/
 
/****** Object:  Trigger dbo.TRI_DEL_AR_EXCH    Script Date: 1998/9/23 PM 03:55:45 ******/
 
CREATE TRIGGER TRI_DEL_AR_EXCH ON dbo.ar_exch 
 
FOR DELETE
 
AS
 
DECLARE @dlvno char (10),@lamt float(16),@famt float(16)
 
select @dlvno = D.dlvno,@lamt = D.lamt,@famt = D.famt from DELETED D
 
update ltodlver set ltodlver.dlv_l_rem =ltodlver.dlv_l_rem-@lamt-@famt where ltodlver.dlv_no = @dlvno
 
 
GO
 
 
/****** Object:  Trigger dbo.TRI_DEL_LTODLVER    Script Date: 1999/3/5 AM 11:51:41 ******/
 
/****** Object:  Trigger dbo.TRI_DEL_LTODLVER    Script Date: 1998/9/23 PM 03:55:45 ******/
 
/****** Object:  Trigger dbo.TRI_DEL_LTODLVER    Script Date: 1998/7/25 PM 02:55:46 ******/
 
CREATE TRIGGER TRI_DEL_LTODLVER ON dbo.ltodlver 
 
FOR DELETE 
 
AS
 
DECLARE @dlv_cus char(8),
 
	@dlv_l_amt float(8),
 
	@dlv_l_tax float(8),
 
	@dlv_l_dis float(8)
 
select @dlv_cus=d.dlv_cus,
 
	@dlv_l_amt=d.dlv_l_amt,
 
	@dlv_l_tax=d.dlv_l_tax,
 
	@dlv_l_dis=d.dlv_l_dis from deleted d
 
update customer set unshamo=unshamo-@dlv_l_amt-@dlv_l_tax+@dlv_l_dis where custno=@dlv_cus
 
 
GO
 
 
/****** Object:  Trigger dbo.TRI_DL01_DEL    Script Date: 1999/3/5 AM 11:51:41 ******/
 
/****** Object:  Trigger dbo.TRI_DL01_DEL    Script Date: 1999/1/8 AM 11:57:59 ******/
 
CREATE TRIGGER TRI_DL01_DEL ON dbo.LTODL01
 
FOR DELETE
 
AS
 
DECLARE @DL1_NO char(10),
 
	@DL1_IT char(2)
 
select @DL1_NO=D.DL1_NO,
 
	@DL1_IT=D.DL1_IT from deleted d
 
DELETE FROM INVTRD WHERE CTRA_NO=@DL1_NO AND CTRA_SEQ=@DL1_IT
 
 
GO | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		chinyu
 
 
  註冊時間: 2004-12-30 文章: 13
 
  第 3 樓
  | 
		
			
				 發表於: 星期二 二月 15, 2005 10:10 pm    文章主題: Re: SQL TRIGGER 問題 | 
				     | 
			 
			
				
  | 
			 
			
				 	  | kechange 寫到: | 	 		  我之前用 DBF 寫時.我都在頭檔的DBF裡加上TRIGGER功能,以便我在修改與刪除時.可以自動控制頭檔與明細檔之間的關係.
 
 
例如頭檔刪除時.明細檔自動全部刪除....頭檔修改主單號時.明細檔的主單號也自動修改...
 
 
我現在改用 SQL 來寫了..我用  CREATE TRIGGER 弄了半天.都弄不出來..
 
 
有沒有高手可以教我一下..如何在 SQL SERVER 裡.做到修改與刪除之 TRIGGER . | 	  
 
可以不用寫trigger,設定table與table的間的關連性即可報到你要的功能。 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |