【正文】
KCNumfrom Bookwhere Bname=@Bnameexec p1_query_Adm 本草綱目gocreate procedure BuyList_insert/*插入銷售(購(gòu)買(mǎi))信息*/@BID char(20),@CID char(20),@Buynum int,@BuyDay DateTimeasinsert into Buyvalues(@BID,@CID,@Buynum,@BuyDay)exec BuyList_insert 39。20090903839。,39。939。,1,39。2012121239。 gocreate procedure P_insert/*插入供應(yīng)(采購(gòu))信息*/@PID char(20),@SID char(20) ,@BID char(10),@InTime DateTime,@InNum intasinsert into P values(@PID,@SID,@BID,@InTime,@InNum)exec P_insert 39。P2539。,39。9500039。,39。20090912139。,39。20131139。,100 SQL SERVER 2008中觸發(fā)器的創(chuàng)建觸發(fā)器進(jìn)貨后在庫(kù)存表中更新記錄的觸發(fā)器gocreate trigger tr_P_Storeon P after insertasdeclare @InNum int,@BID char(20)select @InNum=InNum,@BID=BIDfrom insertedupdate Bookset KCnum=KCnum+@InNumwhere BId=@BID驗(yàn)證該觸發(fā)器insert into Pvalues (39。pa39。,39。9500239。,39。20090912139。,39。20131239。,10) 執(zhí)行前:圖有點(diǎn)大,放不下,就縮小了一點(diǎn)執(zhí)行后:銷售圖書(shū)后在存儲(chǔ)表中更新記錄的觸發(fā)器goCreate trigger tr_Buy_Saveon Buy after insertasdeclare @BID char(20) ,@CID char(20),@BuyNum int,@BuyDay datetimeselect @BuyNum= ,@BID=from inserted,Bookwhere =update Bookset KCnum=KCnum@BuyNumwhere =@BID驗(yàn)證該觸發(fā)器insertinto Buyvalues(39。20090913939。,39。2939。,27,39。20136639。)執(zhí)行前:執(zhí)行后:修改顧客積分信息goCreate trigger tr_CLevelon Buy after insertasdeclare @BID char(20) ,@CID char(20),@BuyNum int,@Bprice floatselect @BuyNum= ,@CID=,@BId=,@Bprice=Bpricefrom inserted,Bookwhere =update Cset CLevel=CLevel+@BuyNum*@Bpricewhere =@CID 驗(yàn)證該觸發(fā)器insertinto Buyvalues(39。20090912139。,39。339。,1,39。20131139。)插入數(shù)據(jù)觸發(fā)器生效前觸發(fā)器生效后 ORCl下數(shù)據(jù)操縱驗(yàn)證 ORCl中基本表的創(chuàng)建創(chuàng)建好的表: ORCl中視圖的創(chuàng)建購(gòu)書(shū)單視圖:建立供顧客查詢圖書(shū)信息的視圖建立供管理者查詢圖書(shū)信息的視圖建立缺貨單視圖建立查詢倉(cāng)庫(kù)情況的視圖以上語(yǔ)句與SQL server 2008中完全一樣,這里就不再重復(fù) ORCl中存儲(chǔ)過(guò)程的創(chuàng)建存儲(chǔ)過(guò)程:查詢指定書(shū)籍有無(wú)庫(kù)存create or replace procedure p1_query_Adm(v_Bname in %type,v_KCNum out number) isbeginselect KCNuminto v_KCNumfrom Bookwhere BName=v_Bname。end 。查詢驗(yàn)證結(jié)果插入銷售(購(gòu)買(mǎi))信息Create or replace procedure BuyList_insert(v_BID %type,v_CID %type,v_BuyNum %type,v_BuyDay %type)asbegininsert into Buy(BID,CID,BuyNum,BuyDay)values(v_BID,v_CID,v_BuyNum,v_BuyDay)。mit。end。插入驗(yàn)證插入供應(yīng)(采購(gòu))信息插入驗(yàn)證 ORCl中觸發(fā)器的創(chuàng)建進(jìn)貨后在庫(kù)存表中更新記錄的觸發(fā)器 create or replace trigger tr_P_Store after insert on P for each row begin if(::) then update Book set KCnum=KCnum+: where =: 。 end if。 end 。 驗(yàn)證觸發(fā)器begininsert into pvalues (39。pa39。,39。9500239。,39。20090912139。,to_date(39。2012100139。,39。yyyymmdd39。),10)。mit 。end。 執(zhí)行之前忘了截圖,就在SQL server 2008 中截了個(gè)圖,數(shù)據(jù)是一樣的。執(zhí)行觸發(fā)器之后的數(shù)據(jù)銷售圖書(shū)后在存儲(chǔ)表中更新記錄的觸發(fā)器 create or replace trigger tr_Buy_Save after insert on Buy for each row begin update Book set KCnum=KCnum+: where =: 。 end 。驗(yàn)證觸發(fā)器begininsert into Buyvalues (39。20090913939。,39。2939。,27,to_date(39。20136639。,39。yyyymmdd39。))。mit 。end。觸發(fā)前觸發(fā)后修改顧客積分信息 create or replace trigger tr_CLevel after insert on Buy for each row declare price number。 begin select Bprice into price from Book where =:。 update C set CLevel=CLevel+:*price where =: 。 end 。驗(yàn)證begin insertinto Buyvalues(39。20090901239。,39。1339。,1,to_date(39。20136639。,39。yyyymmdd39。))。mit。end。插入數(shù)據(jù)觸發(fā)前 觸發(fā)后