MSSQL資料庫觸發程序撰寫(範例) |
|
JLATSTAR
一般會員 發表:8 回覆:16 積分:4 註冊:2007-05-08 發送簡訊給我 |
資料庫內有銷售紀錄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 發送簡訊給我 |
邏輯上怪怪的
有一筆新的銷售資料(代表有賣出貨物) 照道理 庫存量要減少才對 反之 庫存量要增加才對 剛好跟你的 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 發送簡訊給我 |
哈哈!! 被抓包了>"<
<=====================修正版=========================> 資料庫內有銷售紀錄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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |