【正文】
39。2001330239。刪除員工信息deletefrom Ewhere Eno = 39。2001330239。查詢(xún)潘婷洗發(fā)水的損壞情況select *from D_detailwhere Tname = 39。潘婷洗發(fā)水39。 Developer中進(jìn)行驗(yàn)證查詢(xún)SPFG000001號(hào)商品的銷(xiāo)售詳情select *from sale_detailwhere Tno = 39。SPFG00000139。附錄5 存儲(chǔ)過(guò)程與觸發(fā)器功能的驗(yàn)證 Server Management studio中驗(yàn)證觸發(fā)器t1insert into CSvalues(39。00000000239。,39。100139。,39。SPFG00000139。,9,39。2012121239。,39。2001330139。)銷(xiāo)售前庫(kù)存信息:銷(xiāo)售后庫(kù)存信息:增加銷(xiāo)售信息:驗(yàn)證觸發(fā)器t2insert into CSvalues(39。00000000539。,39。10000039。,39。SPFG00000139。,9,39。2012121239。,39。2001330139。)買(mǎi)東西前:買(mǎi)東西后:驗(yàn)證觸發(fā)器t3insert into POvalues(39。00000000539。,39。SPFG00000139。,39。88800039。,9,39。2012121239。,39。2001330139。)采購(gòu)后庫(kù)存信息:采購(gòu)記錄:驗(yàn)證觸發(fā)器t4insert into PBvalues(39。00000000139。,39。SPFG00000139。,9,39。2012121239。,39。簡(jiǎn)直糟糕透了!39。)退貨后:退貨記錄:驗(yàn)證觸發(fā)器t5insert into CBvalues(39。00000239。,39。100339。,39。SPFG00000139。,39。2012121239。,9,39。糟糕,尺碼太大!39。)執(zhí)行結(jié)果:顧客退貨后的庫(kù)存記錄:顧客退貨記錄:驗(yàn)證觸發(fā)器t6insert into Dvalues(39。SPFG00000139。,39。839。,9,39。放太久,過(guò)期了!39。) 增加后的庫(kù)存記錄:增加的報(bào)損信息: 存儲(chǔ)過(guò)程的驗(yàn)證驗(yàn)證存儲(chǔ)過(guò)程no_salesexec no_sales SPFG000001驗(yàn)證存儲(chǔ)過(guò)程no_saverexec no_save SPFG000008驗(yàn)證存儲(chǔ)過(guò)程name_detailexec name_detail 潘婷洗發(fā)水驗(yàn)證存儲(chǔ)過(guò)程delete_Eexec delete_E 39。2001330539。驗(yàn)證存儲(chǔ)過(guò)程delete_Cexec delete_C 39。100839。驗(yàn)證存儲(chǔ)過(guò)程T_destoryexec T_destory 39。SPFG00000139。驗(yàn)證存儲(chǔ)過(guò)程select_cridit exec select_cridit 39。100839。驗(yàn)證存儲(chǔ)過(guò)程select_saleexec select_sale SPFG000001,39。2012121239。,39。20137539。 在PLSQL Developer中進(jìn)行驗(yàn)證 存儲(chǔ)過(guò)程的驗(yàn)證輸入商品號(hào),查詢(xún)?cè)撋唐返匿N(xiāo)售情況、利潤(rùn)create or replace procedure no_sales(Tno in %type,Tnum out number,Tsale out number,Tprofit out number)isbegin select sum(CSnum) 銷(xiāo)售量,SUM(CSnum*) 銷(xiāo)售總額, SUM(CSnum*()) 利潤(rùn) into Tnum,Tsale,Tprofit from sale_detail ,T where = 。 (Tno||39。39。||Tnum||39。39。||Tsale||39。39。||Tprofit)。end。驗(yàn)證:declare Tno %type := 39。SPFG00000139。 Tnum number。 Tsale number。 Tprofit number。begin no_sales(Tno,Tnum,Tsale,Tprofit)。end。驗(yàn)證結(jié)果:輸入商品號(hào),查詢(xún)?cè)撋唐返膸?kù)存量create or replace procedure no_save(tTno in %type, Wno out %type,Tname out %type,Wsave out %type,Tunit out %type,TSprice out %type)isbegin select Wno,Tname,Wsave,Tunit,TSprice into Wno,Tname,Wsave,Tunit,TSprice from W_save where Tno = tTno。 (tTno||39。39。||Wno||39。39。||Tname||39。39。||Wsave||39。39。||Tunit||39。39。||TSprice)。 end。驗(yàn)證:declare tTno %type := 39。SPFG00000139。 Wno %type。 Tname %type。 Tsave %type。 Tunit %type。 TSprice %type。begin no_save(tTno,Wno,Tname,Tsave,Tunit,TSprice)。end。驗(yàn)證結(jié)果:輸入商品名,查詢(xún)商品的詳細(xì)信息,供應(yīng)商、關(guān)于地址等create or replace procedure name_deta( tTno in %type, tTname out %type, tTSprice out %type, tTprodate out %type, tTkeepDate out %type, tSname out %type, tSaddress out %type, tSphone out %type)is begin select ,TSprice,TproDate,TkeepDate,Sname,Saddress,Sphone into tTname,tTSprice,tTproDate,tTkeepDate,tSname,tSaddress,tSphone from T,S,ST where = and = and tTno = 。 (tTno||39。39。||tTname||39。39。||tTSprice||39。39。||to_char(tTproDate)||39。39。||tTkeepDate||39。39。||tSname||39。39。||tSaddress||39。39。||tSphone)。end。declare tTno %type := 39。SPFG00000139。 tTname %type。 tTSprice %type。 tTprodate %type。 tTkeepDate %type。 tSname %type。 tSaddress %type。 tSphone %type。begin name_deta(tTno,tTname,tTSprice,tTproDate,tTkeepDate,tSname,tSaddress,tSphone)。end。驗(yàn)證結(jié)果:創(chuàng)建存儲(chǔ)過(guò)程,查詢(xún)類(lèi)型為“生活用品”的商品信息以及庫(kù)存信息create or replace procedure p3 is tTno %type。 tTname %type。 tTSprice %type。 tTunit %type。 tWsave %type。 cursor c1 is select ,Tname,TSprice,Tunit,Wsave from T,TW where = and Ttype = 39。生活用品39。begin open c1。 loop fetch c1 into tTno,tTname,tTSprice,tTunit,tWsave。 exit when c1%notfound。 (tTno||39。39。||tTname||39。39。||tTSprice||39。39。||tTunit||39。39。||tWsave)。 end loop。 close c1。end 。驗(yàn)證:declare tTno %type。 tTname %type。 tTSprice %type。 tTunit %type。 tWsave %type。begin p3。end。驗(yàn)證結(jié)果:給出商品號(hào),查詢(xún)?cè)谀骋粫r(shí)期商品的銷(xiāo)售情況create or replace procedure select_sale(ttno %type, startTime date,endTime date)is tsum number。 sale number。 begin select sum(CSnum) into tsum from sale_detail where Tno = ttno and Tno in(select Tno from CS where CStime between startTime and endTime) group by Tno。 select tsum*TSprice into sale from T where Tno = ttno。 (tTno||39。39。||tsum||39。39。||sale)。end。驗(yàn)證:declare ttno %type := 39。SPFG00000139。 startTime date:=to_date(39。2012121239。,39。yyyymmdd39。)。 endTime date:=to_date(39。20137539。,39。yyyymmdd39。)。 tsum number。 sale number。 ttsprice number。 begin select_sale(ttno,startTime,endTime)。end。驗(yàn)證結(jié)果: 觸發(fā)器的驗(yàn)證當(dāng)銷(xiāo)售出商品時(shí),就修改庫(kù)存商品信息create or replace trigger t1 after insert on CS for each rowbegin update TW set Wsave = Wsave : where =:。end 。驗(yàn)證:begin insert into CSvalues(39。00000001739。,39。100839。,39。SPFG00000139。,15,to_date(39。201371039。,39。yyyymmdd39。),39。20001330539。)。 mit。end。驗(yàn)證結(jié)果:當(dāng)銷(xiāo)售出商品時(shí),對(duì)顧客號(hào)進(jìn)行查詢(xún),如果是會(huì)員則對(duì)會(huì)員的積分進(jìn)行修改,普通顧客則不予以處理create or replace trigger t2 after insert on CS for each rowdeclare tTSprice %type。begin select TSprice into tTSprice from T where = :。 update C set Ccredit = Ccredit + tTsprice*: where Cno=: 。end 。begin insert into CS values(39。00000001939。,39。100839。,39。SPFG00000139。,10,to_date(39。201371139。,39。yyyymmdd39。),39。20001330539。)。 mit。end。驗(yàn)證結(jié)果:觸發(fā)前C表:觸發(fā)后: