【正文】
SQL SERVER 2020 中 視圖的創(chuàng)建 視圖 建立 建立購書單視圖 go create view BuyList_view as select ,Bname,Buynum,BuyDay,(BuyNum * Bprice) Total from Buy ,Book where = go select * from BuyList_view 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 27 建立供顧客查詢圖書信息的視圖 go create view BuyBook_view as select Bname,Bwriter,Bprice,Press from Book go select * from BuyBook_view 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 28 建立供管理者查詢圖書信息的視圖 go create view AdmBook_view as select ,Bname,Bprice,Bwriter,Inprice from Book go select * from AdmBook_view 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 29 建立查詢供應商信息的視圖 go create view AdmS_view as select SID,Sname,Phone from S go select* from AdmS_view 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 30 建立倉庫信息的 視 圖 go create view KC_view as select KCID,Area,Address from Ck go select* from KC_view 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 31 建立缺貨單視圖 go create view QH_view as select BID,Bname from Book where KCNum=0 缺貨單 go select * from QH_view 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 32 SQL SERVER 2020 中 存儲過程的創(chuàng)建 存儲過程 建立查詢的存儲過程 go create procedure p1_query_Adm /*查詢指定書籍有無庫存 */ Bname char(20) as select KCNum from Book where Bname=Bname exec p1_query_Adm 本草 綱目 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 33 go create procedure BuyList_insert/*插入銷售(購買)信息 */ BID char(20), CID char(20), Buynum int, BuyDay DateTime as insert into Buy values(BID,CID,Buynum,BuyDay) exec BuyList_insert 39。,1,39。,39。,39。,39。,39。,39。) 執(zhí)行前: 執(zhí)行后: 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 38 修改顧客積分信息 go Create trigger tr_CLevel on Buy after insert as declare BID char(20) ,CID char(20),BuyNum int,Bprice float select BuyNum= ,CID=,BId=,Bprice=Bprice from inserted,Book where = update C set CLevel=CLevel+BuyNum*Bprice where =CID 驗證該觸發(fā)器 insert into Buy values(39。,1,39。 查詢驗證 結果 插入銷售(購買)信息 Create or replace procedure BuyList_insert(v_BID %type,v_CID %type,v_BuyNum %type,v_BuyDay %type) as 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 44 begin insert into Buy(BID,CID,BuyNum,BuyDay) values(v_BID,v_CID,v_BuyNum,v_BuyDay)。 end if。,39。,to_date(39。),10)。 執(zhí)行觸發(fā)器之后的數據 銷售圖書后在存儲表中更新記錄的觸發(fā)器 create or replace trigger tr_Buy_Save after insert on Buy for each row begin update Book set KCnum=KCnum+: where =: 。,39。,39。 end。 end 。1339。yyyymmdd39。插入數據 觸發(fā)前 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 49 觸發(fā)后 。 mit。20206639。20200901239。 begin select Bprice into price from Book where =:。))。,27,to_date(39。 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 47 驗證觸發(fā)器 begin insert into Buy values (39。 end。,39。,39。 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 46 驗證觸發(fā)器 begin insert into p values (39。 end。) 插入數據 觸發(fā)器生效前 觸發(fā)器生效 后 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 39 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 40 附錄 3 ORCl 下 數據操縱驗證 ORCl 中基本表的創(chuàng)建 創(chuàng)建好的表: ORCl 中 視圖 的創(chuàng)建 購書單視圖: 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 41 建立供顧客查詢圖書信息的視圖 建立供管理者查詢圖書信息的視圖 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 42 建立缺貨單視圖 建立查詢倉庫 情況的視圖 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 43 以上語句與 SQL server 2020 中完全一樣, 這里就不再重復 ORCl 中 存儲過程 的創(chuàng)建 存儲過程: 查詢指定書籍有無庫存 create or replace procedure p1_query_Adm(v_Bname in %type,v_KCNum out number) is begin select KCNum into v_KCNum from Book where BName=v_Bname。,39。,27,39。,10) 執(zhí)行前: 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 36 圖有點大,放不下,就縮小了一點 執(zhí)行后: 銷售圖書后在存儲表中更新記錄的觸發(fā)器 go Create trigger tr_Buy_Save on Buy after insert as declare BID char(20) ,CID char(20),BuyNum int,BuyDay datetime select BuyNum= ,BID= from inserted,Book where = update Book set KCnum=KCnumBuyNum 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 37 where =BID 驗證該觸發(fā)器 insert into Buy values(39。,39。,100 SQL SERVER 2020 中 觸發(fā)器的創(chuàng)建 觸發(fā)器 進貨后在庫存表中更新記錄的觸發(fā)器 go create trigger tr_P_Store on P after insert as declare InNum int,BID char(20) select InNum=InNum,BID=BID from inserted 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 35 update Book set KCnum=KCnum+InNum where BId=BID 驗證該觸發(fā)器 insert into P values (39。,39。 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 34 go create procedure P_insert/*插入供應(采購)信息 */ PID char(20), SID char(20) , BID char(10), InTime DateTime, InNum int as insert into P values(PID,SID,BID,InTime,InNum) exec P_insert 39。,39。 執(zhí)行該語句刪除后: 11 級信息管理與信息系統(tǒng)專業(yè) 2 班數據庫 應用系統(tǒng)課程設計課程論文 25 表由 24 行變成了 23 行,已經刪除該信息! 對 S表進行修改操作 修改前: update S set Phone=1111 where SID=39。) 對 Book表進行刪除 BID=39。,39。 創(chuàng)建顧客退書單表 create table T (TID char(8) , BID char(20) not null, TNum int, Foreign key (BID) references Book(BID), primary key(TID,BID) )。 創(chuàng)建供應商表 create table S (SID char(10) primary key, Sname char(8), Phone char(12) )。但對于存儲過程和觸發(fā)器,兩者區(qū)別還挺大, 就功能不變中重新編寫了一下。 但這樣畫下來也費了不少時間精力,到后來畫 E_R 圖的時候,才發(fā)現(xiàn), 照 著老師的來,要做的東西會有點麻煩,自己就回過頭修改基本流程圖了,畫 E_R 圖的時候,也是照著自己心里想的東西畫。 數據庫實施 數據庫及數據庫對象建立 主要包括:數據庫 的創(chuàng)建 、基本 表 的創(chuàng)建 、