這篇文章主要為大家展示了“sql中觸發(fā)器如何實現(xiàn)庫存功能”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“sql中觸發(fā)器如何實現(xiàn)庫存功能”這篇文章吧。
表1、入庫表 列:入庫單號 零件號 入庫數(shù)量 表2、出庫表 列:出庫單號 零件號 出庫數(shù)量 表3:零件信息表 列:零件號`````` 庫存數(shù)量 我想實現(xiàn)每一次的入庫時,"零件信息表"里的"庫存數(shù)量"要加上"入庫數(shù)量",出庫時,”庫存數(shù)量“要減去”出庫數(shù)量“,就是實現(xiàn)更新庫存應(yīng)該怎么做?寫觸發(fā)器嗎,觸發(fā)器該怎么寫?還是有什么更好的方法,請高手幫助我,好有詳細代碼,謝謝!
很好答案
一般來說庫存操作單據(jù)和庫存結(jié)余的聯(lián)系都是通過客戶端軟件實現(xiàn)的,就是在入庫單的審核操作按鈕處加入SQL代碼,如果你的不是這樣,也可以通過觸發(fā)器來實現(xiàn),但是完善的流程應(yīng)該包括在插入、修改和刪除時都保證對零件信息表的更改。 1、CREATE TRIGGER Tr_入庫表 ON 入庫表 after insert,update,delete AS begin update a set a.庫存數(shù)量=a.庫存數(shù)量 +b.入庫數(shù)量 from 零件信息表 a,(select 零件號,sum(入庫數(shù)量) 入庫數(shù)量 from inserted group by 零件號 ) b --如果每次插入時零件號不重復(fù),則不必聚合 where a.零件號 =b.零件號; go update a set a.庫存數(shù)量=a.庫存數(shù)量 -b.入庫數(shù)量 from 零件信息表 a,(select 零件號,sum(入庫數(shù)量) 入庫數(shù)量 from deleted group by 零件號 ) b --如果每次插入時零件號不重復(fù),則不必聚合 where a.零件號 =b.零件號; go end 2、CREATE TRIGGER Tr_出庫表 ON 出庫表 after insert,update,delete AS begin update a set a.庫存數(shù)量=a.庫存數(shù)量 -b.出庫數(shù)量 from 零件信息表 a,(select 零件號,sum(出庫數(shù)量) 出庫數(shù)量 from inserted group by 零件號 ) b --如果每次插入時零件號不重復(fù),則不必聚合 where a.零件號 =b.零件號; go update a set a.庫存數(shù)量=a.庫存數(shù)量 +b.出庫數(shù)量 from 零件信息表 a,(select 零件號,sum(出庫數(shù)量) 出庫數(shù)量 from deleted group by 零件號 ) b --如果每次插入時零件號不重復(fù),則不必聚合 where a.零件號 =b.零件號; go end
以上是“sql中觸發(fā)器如何實現(xiàn)庫存功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁題目:sql中觸發(fā)器如何實現(xiàn)庫存功能-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://jinyejixie.com/article26/dphccg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站制作、小程序開發(fā)、App開發(fā)、網(wǎng)站排名、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容