這是第二個觸發器,原理和第乙個相同

2021-09-13 22:05:34 字數 1156 閱讀 1109

create trigger [dbo].[cfq2] on [dbo].[icstockbill]

for insert

asbegin

if exists(select 1 from inserted where ftrantype=1 and isnull(fpostyle,0)=252)

begin

update [dbo].[icstockbill]

set fheadselfa0148='成功'

where fbillno in (select fbillno from inserted)

return

endend

下面是具體分析:

create trigger [dbo].[cfq2] on [dbo].[icstockbill] 

for insert

as

這句的主要作用是建立乙個cfq2在icstockbill(外購入庫單)中,當有新的插入時

begin

if exists(select 1 from inserted where ftrantype=1 and isnull(fpostyle,0)=252)

begin

這一句的作用是如果存在ftrantype=1同時fpostyle=252(儲存狀態),其中inserted是觸發器中專用,在sql語句中直接查詢無法查到,

使用select 1 from table的結果是臨時得到1列(列的值為1),其行數為表的記錄數(行數),如果配合exists 語句則可以快速查詢結果是否存在,而結果的具體資料不涉及到。

這一主要是快速查詢到剛剛是不是插入一行資料採購入庫單為儲存狀態的單據,如果存在就進行下一步操作

update [dbo].[icstockbill]

set fheadselfa0148='成功'

where fbillno in (select fbillno from inserted)

return

這裡主要是更新我新增的乙個表頭欄位fheadselfa0148。當採購入庫單儲存時自動插入乙個成功,這裡用fbillno時因為這個字段儲存後會插入乙個新的單據號到表單中便於識別。審核狀態就不能用這個字段,

C 關閉第乙個窗體,開啟第二個視窗

在設計中,有需求要在一開始秀乙個窗體,幾秒之後關閉form1,然後form2作為主窗體開始其他功能。嗯。其實這和登入ui差不多。1.最簡單的辦法 form2設為主窗體,在load一開始加入form1的開啟以及關閉 form2.cs form1 f1 null private void form2 l...

第乙個語句觸發器

觸發器是由資料庫自動完成增刪改的記錄,現在寫乙個簡單的觸發器 注意 在建日誌表時,使用者欄位我開始用user,總是報錯,後來加了name,就順利完成 create or replace trigger tr goodsbase log 建立觸發器 after insert or update or ...

感謝第乙個和第二個付費客戶對我的信任

今天,終於有了第2個客戶,選擇相信我,選擇付費。為什麼說是 終於 第二個客戶的潛在人選很多,只不過還在猶豫,或者結合他們自己的情況,來年選擇付費。而第1個和第2個客戶付費都很果斷!心裡認準了,就很快做出了決定。真的很感謝他們的信任,感謝他們的勇氣,感謝他們願意為知識付費 相應的,我也會盡自己最大努力...