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

MSSQL資料庫觸發程序撰寫(範例)

 
JLATSTAR
一般會員


發表:8
回覆:16
積分:4
註冊:2007-05-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-05-15 09:59:56 IP:203.204.xxx.xxx 訂閱
資料庫內有銷售紀錄Table SALES (SNO,PDATE,PRODNO,QTY,PRICE)
庫存紀錄Table STOCK (PRODNO,QTY)



CREATE TRIGGER 刪除銷售資料
ON SALES
AFTER DELETE
AS
UPDATE STOCK SET QTY=QTY-(SELECT QTY FROM deleted) WHERE PRODNO=(SELECT PRODNO FROM deleted)
GO

CREATE TRIGGER 新增銷售資料
ON SALES
AFTER INSERT
AS
UPDATE STOCK SET QTY=QTY (SELECT QTY FROM inserted) WHERE PRODNO=(SELECT PRODNO FROM inserted)
GO
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-05-15 12:33:12 IP:211.75.xxx.xxx 訂閱
邏輯上怪怪的
有一筆新的銷售資料(代表有賣出貨物)
照道理 庫存量要減少才對
反之 庫存量要增加才對
剛好跟你的 TRIGGER 相反
===================引 用 JLATSTAR 文 章===================
資料庫內有銷售紀錄Table SALES (SNO,PDATE,PRODNO,QTY,PRICE)
庫存紀錄Table STOCK (PRODNO,QTY)
CREATE TRIGGER 刪除銷售資料
ON SALES
AFTER DELETE
AS
UPDATE STOCK SET QTY=QTY-(SELECT QTY FROM deleted) WHERE PRODNO=(SELECT PRODNO FROM deleted)
GO

CREATE TRIGGER 新增銷售資料
ON SALES
AFTER INSERT
AS
UPDATE STOCK SET QTY=QTY (SELECT QTY FROM inserted) WHERE PRODNO=(SELECT PRODNO FROM inserted)
GO
------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
編輯記錄
eaglewolf 重新編輯於 2007-05-15 12:34:20, 註解 無‧
JLATSTAR
一般會員


發表:8
回覆:16
積分:4
註冊:2007-05-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-05-15 13:47:40 IP:203.204.xxx.xxx 訂閱
哈哈!! 被抓包了>"<

<=====================修正版=========================>
資料庫內有銷售紀錄Table SALES (SNO,PDATE,PRODNO,QTY,PRICE)
庫存紀錄Table STOCK (PRODNO,QTY)

CREATE TRIGGER 刪除銷售資料
ON SALES
AFTER DELETE
AS
UPDATE STOCK SET QTY=QTY (SELECT QTY FROM deleted) WHERE PRODNO=(SELECT PRODNO FROM deleted)
GO

CREATE TRIGGER 新增銷售資料
ON SALES
AFTER INSERT
AS
UPDATE STOCK SET QTY=QTY-(SELECT QTY FROM inserted) WHERE PRODNO=(SELECT PRODNO FROM inserted)
GO
系統時間:2024-05-16 3:22:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!