創(chuàng)建存儲過程與觸發(fā)器_第1頁
創(chuàng)建存儲過程與觸發(fā)器_第2頁
創(chuàng)建存儲過程與觸發(fā)器_第3頁
創(chuàng)建存儲過程與觸發(fā)器_第4頁
創(chuàng)建存儲過程與觸發(fā)器_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

歡迎閱讀本文檔,希望本文檔能對您有所幫助!歡迎閱讀本文檔,希望本文檔能對您有所幫助!感謝閱讀本文檔,希望本文檔能對您有所幫助!感謝閱讀本文檔,希望本文檔能對您有所幫助!歡迎閱讀本文檔,希望本文檔能對您有所幫助!感謝閱讀本文檔,希望本文檔能對您有所幫助!創(chuàng)建存儲過程與觸發(fā)器《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告實驗7創(chuàng)建存儲過程與觸發(fā)器實驗日期和時間:2021-11-11班級:09計本(4)學號:2021810182實驗室:2#206姓名:周偉實驗環(huán)境:1.硬件:1g內(nèi)存1.73ghz2.軟件:sqlserver2021實驗原理:創(chuàng)建存儲過程,執(zhí)行存儲通過建立觸發(fā)器實現(xiàn)對數(shù)據(jù)庫的更新。實驗任務:此作業(yè)成績得分根據(jù)你完成的任務的難度和數(shù)量評分,完成后在實驗室給老師演示驗收,課后提交電子版報告。如額外完成自擬題目應當事先將所擬題目提交給老師或在報告中明確標注題意。假定有某個企業(yè)(或公司,或代理商)經(jīng)銷某類產(chǎn)品,需要用一個信息系統(tǒng)對銷售業(yè)務和庫存進行管理。首先,他們得在數(shù)據(jù)庫中存儲所有經(jīng)營過的產(chǎn)品的信息,并建立現(xiàn)有庫存的信息表;其次,對于每次銷售或者進貨,他們都得記錄下來以便進行管理,將來對這些信息進行統(tǒng)計或財務管理;再次,在每筆銷售記錄中需要記錄相關客戶信息,在進貨時需要記錄相關供應商的信息,也為了與不同的供應商和客戶進行聯(lián)系,需要分別建立二者的信息表。綜上所述,在以上建立的數(shù)據(jù)庫中我們至少需要以下幾個基本表:1.產(chǎn)品表(記錄公司曾經(jīng)經(jīng)營的所有產(chǎn)品信息)2.現(xiàn)有庫存表(記錄公司目前經(jīng)營的產(chǎn)品的現(xiàn)有庫存信息)3.出庫單表(記錄產(chǎn)品銷售出庫時的情況:時間、銷售員、客戶、商品編碼、商品數(shù)量等)4.入庫單表(記錄公司每次產(chǎn)品進貨入庫時的信息)5.供應商表(記錄為公司供貨的主要供應商信息)6.客戶表(記錄公司的所有客戶信息)。以下是供參考的表結構的部分信息,同學們可以根據(jù)題意自行修改表的結構1.產(chǎn)品表(記錄公司的產(chǎn)品信息)字段名產(chǎn)品編號產(chǎn)品名稱類別供應商編號產(chǎn)地最新參考單價數(shù)據(jù)類型文本文本文本文本文本貨幣第1頁長度主鍵非空備注外鍵(來自供應商表)2021年5月16日《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告規(guī)格。。。。文本2.現(xiàn)有庫存表(記錄公司的現(xiàn)有庫存信息)字段名產(chǎn)品編號產(chǎn)品名稱產(chǎn)品規(guī)格類別零售單價?!,F(xiàn)有庫存量最小庫存量存放地點。。數(shù)據(jù)類型長度文本貨幣數(shù)字數(shù)字文本備注主鍵、外鍵(來自產(chǎn)品表)3.出庫單表(記錄產(chǎn)品銷售出庫時的情況)字段名出庫單號客戶編號產(chǎn)品編號出庫數(shù)量出庫價格金額。。目的地經(jīng)手人數(shù)據(jù)類型長度備注文本文本文本數(shù)字貨幣貨幣文本文本主鍵外鍵(來自客戶表)外鍵(來自產(chǎn)品表)=出庫數(shù)量×出庫價格可以默認為系統(tǒng)時間出庫日期日期/時間4.入庫單表(記錄公司每次產(chǎn)品進貨入庫時的信息)字段名入庫單號產(chǎn)品編號供應商編號入庫數(shù)量入庫價格。。入庫日期經(jīng)手人數(shù)據(jù)類型長度文本文本文本數(shù)字貨幣日期/時間文本備注主鍵外鍵(來自產(chǎn)品表)外鍵(來自供應商表)可以默認為系統(tǒng)時間第2頁2021年5月16日《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告5.供應商表(記錄為公司供貨的主要供應商信息)字段名供應商編號供應商名稱聯(lián)系人姓名地址。。電話傳真電子郵箱數(shù)據(jù)類型長度文本文本文本文本文本文本文本備注主鍵非空6.客戶表(記錄公司的所有客戶信息)字段名客戶編號客戶名稱聯(lián)系人城市地址。。電話傳真電子郵箱數(shù)據(jù)類型長度文本文本文本文本文本文本文本文本備注主鍵非空要求:1)設計并創(chuàng)建以上的“庫存管理”系統(tǒng)的數(shù)據(jù)庫。注意,建表時,表中的外鍵的數(shù)據(jù)類型應當與其所參照的主表中的主鍵數(shù)據(jù)類型一致。(至少創(chuàng)建題目所需要的表)2)創(chuàng)建關系圖,建立表之間的聯(lián)系以保證參照完整性。3)基本數(shù)據(jù)錄入??梢灾苯愉浫?,也可將其它格式的表中的數(shù)據(jù)導入,或查詢其它表中可利用的數(shù)據(jù)并插入到現(xiàn)有的表中。4)創(chuàng)建存儲過程。(任選一題)①創(chuàng)建可以按“產(chǎn)品編號”(參數(shù))進行產(chǎn)品庫存信息查詢的存儲過程。②創(chuàng)建可以按“類別”(參數(shù))進行某類產(chǎn)品庫存信息查詢的存儲過程。③創(chuàng)建可以按產(chǎn)品名稱或產(chǎn)品名稱打頭字符串(參數(shù))進行產(chǎn)品庫存信息查詢的存儲過程。④自擬題5)創(chuàng)建觸發(fā)器。(任選一題)①創(chuàng)建“現(xiàn)有庫存”表的delete觸發(fā)器,禁止刪除庫存信息。(只需要現(xiàn)有庫存表)②創(chuàng)建“出庫單”表的insert觸發(fā)器。在該表中插入出庫記錄時,能自動生成唯一的出庫單號(可設置為自動編號),在填寫“產(chǎn)品編號”和“出庫數(shù)量”時,通過觸發(fā)器的作用,能判斷該產(chǎn)品的現(xiàn)有庫存數(shù)量是否足夠,如果足夠滿足此次出庫數(shù)量,則能自動填寫出庫記錄中與該記錄“產(chǎn)品編號”對應的:“產(chǎn)品名稱”(來自產(chǎn)品表/現(xiàn)有庫存表)、第3頁2021年5月16日《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告“產(chǎn)品規(guī)格”(來自產(chǎn)品表/現(xiàn)有庫存表)、“出庫價格”(來自產(chǎn)品表/現(xiàn)有庫存表)、“金額”(能自動計算并填入:=出庫價格*出庫數(shù)量)、“出貨日期”(來自系統(tǒng)日期)等字段,并能根據(jù)此次出庫數(shù)量自動減少該產(chǎn)品的現(xiàn)有庫存數(shù)量值;如果現(xiàn)有庫存數(shù)量不能滿足此次出庫數(shù)量,則拒絕此記錄插入(事務回滾)并報警提示庫存不足。(需要現(xiàn)有庫存表和出庫單表)③創(chuàng)建“出庫單”表的insert觸發(fā)器。如果此產(chǎn)品出庫后的現(xiàn)有庫存量低于最小庫存量,則報警提示該產(chǎn)品庫存不足需要進貨。(需要現(xiàn)有庫存表和出庫單表)④創(chuàng)建“入庫單”表的insert觸發(fā)器。在該表中插入入庫記錄時,能自動生成唯一的入庫單號(可設置為自動編號),在填寫“產(chǎn)品編號”和“入庫數(shù)量”時,通過觸發(fā)器的作用,能判斷在“現(xiàn)有庫表中”是否存在該產(chǎn)品庫存記錄,如果有,則自動更新該產(chǎn)品的現(xiàn)有庫存數(shù)量,如果現(xiàn)有庫存表中不存在該產(chǎn)品的庫存記錄(有可能是未經(jīng)營過的新產(chǎn)品),則先在現(xiàn)有庫存表中自動插入該產(chǎn)品的庫記錄;并通過觸發(fā)器的作用自動填寫入庫記錄中與該記錄“產(chǎn)品編號”對應的:“產(chǎn)品名稱”(來自產(chǎn)品表/現(xiàn)有庫存表)、“產(chǎn)品規(guī)格”(來自產(chǎn)品表/現(xiàn)有庫存表)、“入庫價格”(來自產(chǎn)品表的最新參考單價/現(xiàn)有庫存表的零售單價)、“金額”(能自動計算并填入:=出庫價格*出庫數(shù)量)、“出貨日期”(來自系統(tǒng)日期)等字段。(需要現(xiàn)有庫存表和入庫單表)先在第一欄填寫自己選擇的題目和欲實現(xiàn)的功能,再在其余欄目中分別填寫自己的代碼以及執(zhí)行情況、測試方案和數(shù)據(jù)、測試結果等等。如果選做多個或自擬題,請自己依照格式添加欄目,自擬題請寫清題意。我的選題1:(描述題目和欲實現(xiàn)的功能)1.創(chuàng)建可以按“產(chǎn)品編號”(參數(shù))進行產(chǎn)品庫存信息查詢的存儲過程。原代碼:創(chuàng)建存儲過程createprocedurexinxi_cx@123nchar(10)asbeginselect*from現(xiàn)有庫存量where產(chǎn)品編號=@123end;測試方案及數(shù)據(jù):在新建查詢中輸入:exec@result=[dbo].[xinxi_cx]@123=n'001'觀察能否返回產(chǎn)品編號為001的產(chǎn)品現(xiàn)有庫存信息第4頁2021年5月16日《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告測試結果:(文字說明、原代碼、結果貼圖)2.創(chuàng)建可以按“類別”(參數(shù))進行某類產(chǎn)品庫存信息查詢的存儲過程原代碼:創(chuàng)建存儲過程:createprocedurechanpinleibie@123nchar(10)asbeginselect*from產(chǎn)品表where類別=@123end;測試方案及數(shù)據(jù):在新建查詢中輸入:exec@result=chanpinleibie@123='電'select'result'=@result測試結果:(文字說明、原代碼、結果貼圖)第5頁2021年5月16日《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告3.創(chuàng)建可以按產(chǎn)品名稱或產(chǎn)品名稱打頭字符串(參數(shù))進行產(chǎn)品庫存信息查詢的存儲過程。創(chuàng)建存儲過程:createprocedurechanpinmingcheng@123nchar(10)asbeginselect*from產(chǎn)品表where產(chǎn)品名稱=@123end;在新建查詢中輸入:exec@result=chanpinmingcheng@123='電'select'result'=@result測試結果:(文字說明、原代碼、結果貼圖)4.創(chuàng)建可以按“供應商編號”(參數(shù))進行產(chǎn)品庫存信息查詢的存儲過程。創(chuàng)建存儲過程:createproceduregongyingshang@123nchar(10)asbeginselect*from產(chǎn)品表where供應商編號=@123end;在新建查詢中輸入:exec@result=gongyingshang@123='102'select'result'=@result測試結果:(文字說明、原代碼、結果貼圖)第6頁2021年5月16日《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告我的選題2:(描述題目和欲實現(xiàn)的功能)1.創(chuàng)建“現(xiàn)有庫存”表的delete觸發(fā)器,禁止刪除庫存信息原代碼:createtrigger庫存_信息刪除on現(xiàn)有庫存量fordeleteasdeclare@123nchar(10)beginifexists(select*from現(xiàn)有庫存量where產(chǎn)品編號=@123)print'禁止刪除庫存信息。'rollback;rollbacktransactionend;usezwgodeletefrom現(xiàn)有庫存量where產(chǎn)品編號='004'go測試方案及數(shù)據(jù):usezwgodeletefrom現(xiàn)有庫存量where產(chǎn)品編號='004'go測試結果:(文字說明、原代碼、結果貼圖)第7頁2021年5月16日《數(shù)據(jù)庫管理系統(tǒng)sqlserver》實驗報告2.創(chuàng)建“出庫單”表的insert觸發(fā)器。原代碼:createtrigger插入出庫單表時更新on出庫單表forinsertasdeclare@zdbhint,@khbhnchar(10),@cpbhnchar(10),@ckslnumeric,@ckjgmoney,@jemoney,@ckrqdatetime,@mddnchar(10),@jsrnchar(10),@xykclnumericbeginselect@zdbh,@cpbhwhereexists(select現(xiàn)有庫存量from現(xiàn)有庫存量where@xykcl=@cksl)insertinto出庫單表values(@zdbh,@khbh,@cpbh,@cksl,@ckjg,@je,@ckrq,@mdd,@jsr);end;測試結果:(文字說明、原代碼、結果貼圖)③創(chuàng)建“出庫單”表的insert觸發(fā)器源代碼:createtrigger插入出庫單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論