![大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告材料45_第1頁](http://file4.renrendoc.com/view/4684a86cce1114752598979665bf9e6d/4684a86cce1114752598979665bf9e6d1.gif)
![大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告材料45_第2頁](http://file4.renrendoc.com/view/4684a86cce1114752598979665bf9e6d/4684a86cce1114752598979665bf9e6d2.gif)
![大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告材料45_第3頁](http://file4.renrendoc.com/view/4684a86cce1114752598979665bf9e6d/4684a86cce1114752598979665bf9e6d3.gif)
![大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告材料45_第4頁](http://file4.renrendoc.com/view/4684a86cce1114752598979665bf9e6d/4684a86cce1114752598979665bf9e6d4.gif)
![大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告材料45_第5頁](http://file4.renrendoc.com/view/4684a86cce1114752598979665bf9e6d/4684a86cce1114752598979665bf9e6d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告資料45大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告資料4532/32大數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告資料45標(biāo)準(zhǔn)文檔數(shù)據(jù)庫(kù)與表的基本操作實(shí)驗(yàn)報(bào)告項(xiàng)目名稱數(shù)據(jù)庫(kù)與表的基本操作專業(yè)班級(jí)軟件工程1307班學(xué)號(hào)3901130721姓名譚淇蔚實(shí)驗(yàn)成績(jī):批閱教師:2015年5月11日標(biāo)準(zhǔn)文檔實(shí)驗(yàn)4儲(chǔ)存過程實(shí)驗(yàn)學(xué)時(shí):4每組人數(shù):1實(shí)驗(yàn)種類:2(1:基礎(chǔ)性2:綜合性3:設(shè)計(jì)性4:研究性)實(shí)驗(yàn)要求:1(1:必修2:選修3:其余)實(shí)驗(yàn)種類:3(1:基礎(chǔ)2:專業(yè)基礎(chǔ)3:專業(yè)4:其余)一、實(shí)驗(yàn)?zāi)康睦斫鈨?chǔ)存過程的看法、成立和調(diào)用方法。進(jìn)一步熟習(xí)SQL語句對(duì)數(shù)據(jù)庫(kù)進(jìn)行完好性控制的方法。二、實(shí)驗(yàn)內(nèi)容1、成立一個(gè)新的銷售數(shù)據(jù)庫(kù),包含五張表,每張表最少
2、需要10條記錄。1)/*員工人事表employee*/emp_nochar(5)Notnullprimarykey員工編號(hào)emp_namechar(10)員工姓名sexchar(1)性別deptchar(4)所屬部門titlechar(6)職稱date_hireddatetime到職日birthdaydatetime誕辰salaryint薪水a(chǎn)ddrchar(50)null地點(diǎn)2)/*客戶表customer*/cust_idchar(5)Notnullprimarykey客戶號(hào)cust_namechar(20)客戶名稱addrchar(40)客戶地點(diǎn)tel_nochar(10)客戶電話zipc
3、har(6)郵政編碼3)/*銷售主表sales*/order_nocust_idintchar(5)Notnullprimarykey訂單編號(hào)客戶號(hào)標(biāo)準(zhǔn)文檔sale_idchar(5)業(yè)務(wù)員編號(hào)tot_amtnumeric(9,2)訂單金額order_datedatetime訂貨日期ship_datedatetime出貨日期invoice_nochar(10)發(fā)票號(hào)碼4)/*銷貨明細(xì)表sale_item*/order_nointNotnull,primarykey訂單編號(hào)prod_idchar(5)Notnull,primarykey產(chǎn)品編號(hào)qtyint銷售數(shù)目unit_pricenumeri
4、c(7,2)單價(jià)order_datedatetimenull訂單日期5)/*產(chǎn)品名稱表product*/pro_idprod_namechar(5)char(20)NotnullNotnullprimarykey產(chǎn)品編號(hào)產(chǎn)品名稱2、成立表的同時(shí)創(chuàng)辦表的拘束。(1)為每張表成立主鍵拘束。(2)經(jīng)過拖放操作加入外鍵。(3)在表employee加入CHECK拘束:輸入的員工編號(hào)一定以E開頭的5位數(shù)編號(hào),性別只好為M/F。(4)為銷售主表sales中的發(fā)票編號(hào)字段成立UNIQUE拘束。3、利用儲(chǔ)存過程,給employee表增加一條業(yè)務(wù)部門員工的信息。4、利用儲(chǔ)存過程從employee、sales、cu
5、stomer表的連接中返回全部業(yè)務(wù)員的姓名、客戶姓名、銷售金額。5、利用儲(chǔ)存過程查找“劉德華”的員工編號(hào)、訂單編號(hào)、銷售金額。6、利用儲(chǔ)存過程查找姓“李”并且職稱為“職員”的員工的員工編號(hào)、訂單編號(hào)、銷售金額。7、利用儲(chǔ)存過程計(jì)算出訂單編號(hào)為10003的訂單的銷售金額。三、實(shí)驗(yàn)要求:1熟習(xí)SQLSERVER工作環(huán)境;2成立銷售數(shù)據(jù)庫(kù)3復(fù)習(xí)相關(guān)拘束與儲(chǔ)存過程的SQL語言命令。4備份數(shù)據(jù)庫(kù),作為實(shí)驗(yàn)5的操作數(shù)據(jù)庫(kù)。標(biāo)準(zhǔn)文檔四、實(shí)驗(yàn)步驟1創(chuàng)辦銷售數(shù)據(jù)庫(kù),并建表、更正,要求將自己的信息包含此中;2、利用儲(chǔ)存過程,給employee表增加一條業(yè)務(wù)部門員工的信息。3、利用儲(chǔ)存過程從employee、sal
6、es、customer表的連接中返回全部業(yè)務(wù)員的姓名、客戶姓名、銷售金額。4、利用儲(chǔ)存過程查找“劉德華”的員工編號(hào)、訂單編號(hào)、銷售金額。5、利用儲(chǔ)存過程查找姓“李”并且職稱為“職員”的員工的員工編號(hào)、訂單編號(hào)、銷售金。五、實(shí)驗(yàn)結(jié)果1、成立一個(gè)新的銷售數(shù)據(jù)庫(kù),包含五張表,每張表最少需要10條記錄。1)/*員工人事表employee*/emp_nochar(5)Notnullprimarykey員工編號(hào)emp_namechar(10)員工姓名sexchar(1)性別deptchar(4)所屬部門titlechar(6)職稱date_hireddatetime到職日birthdaydatetime誕
7、辰salaryint薪水a(chǎn)ddrchar(50)null地點(diǎn)2)/*客戶表customer*/cust_idchar(5)Notnullprimarykey客戶號(hào)cust_namechar(20)客戶名稱addrchar(40)客戶地點(diǎn)tel_nochar(10)客戶電話zipchar(6)郵政編碼3)/*銷售主表sales*/order_nointNotnullprimarykey訂單編號(hào)cust_idchar(5)客戶號(hào)sale_idchar(5)業(yè)務(wù)員編號(hào)tot_amtnumeric(9,2)訂單金額order_datedatetime訂貨日期ship_datedatetime出貨日期i
8、nvoice_nochar(10)發(fā)票號(hào)碼(4)/*銷貨明細(xì)表sale_item*/標(biāo)準(zhǔn)文檔order_nointNotnull,primarykey訂單編號(hào)prod_idchar(5)Notnull,primarykey產(chǎn)品編號(hào)qtyint銷售數(shù)目unit_pricenumeric(7,2)單價(jià)order_datedatetimenull訂單日期5)/*產(chǎn)品名稱表product*/pro_idprod_namechar(5)char(20)NotnullNotnullprimarykey產(chǎn)品編號(hào)產(chǎn)品名稱解:第一寫出每一個(gè)表的創(chuàng)辦語句CREATETABLEemployee(emp_nochar
9、(5)notnullemp_namechar(10),sexchar(1),deptchar(4),titlechar(6),date_hireddatetime,birthdaydatetime,salaryint,addrCHAR(50),primarykey(emp_no)CREATETABLEcustomer(cust_idchar(5)notnullcust_namechar(20),addrchar(40),tel_nochar(10),zipchar(6),primarykey(cust_id),)CREATETABLEsales(order_nointnotnull,cust_
10、idchar(5),sale_idchar(5),tot_amtnumeric(9,2),order_datedatetime,ship_datedatetime,標(biāo)準(zhǔn)文檔invoice_nochar(10),primarykey(order_no)CREATETABLEsale_item(order_nointnotnull,prod_idchar(5)notnull,qtyint,unit_pricenumeric(7,2),order_datedatetimenotnull,primarykey(order_no,prod_id)CREATETABLEproduct(pro_idchar
11、(5)NOTNULL,prod_namechar(20)NOTNULL,primarykey(pro_id)以上建表結(jié)果:為每一個(gè)表輸入數(shù)據(jù):標(biāo)準(zhǔn)文檔2、成立表的同時(shí)創(chuàng)辦表的拘束。(1)為每張表成立主鍵拘束。已成立主鍵拘束(2)經(jīng)過拖放操作加入外鍵。步驟以下:第一點(diǎn)擊數(shù)據(jù)庫(kù),可以看見,數(shù)據(jù)庫(kù)下方有數(shù)據(jù)庫(kù)關(guān)系表:右鍵其,創(chuàng)辦一個(gè)數(shù)據(jù)庫(kù)關(guān)系圖接著可以看見標(biāo)準(zhǔn)文檔選擇增加以上五個(gè)數(shù)據(jù)庫(kù),拖動(dòng)鍵后便可以成立成立(1)在表employee加入CHECK拘束:輸入的員工編號(hào)一定以E開頭的5位數(shù)編號(hào),性別只好為M/F。標(biāo)準(zhǔn)文檔步驟:第一步右鍵第二步:又按著鼠標(biāo)右鍵:標(biāo)準(zhǔn)文檔第三步:點(diǎn)擊增加接著再表達(dá)式里面寫
12、著拘束條件標(biāo)準(zhǔn)文檔(2)為銷售主表sales中的發(fā)票編號(hào)字段成立UNIQUE拘束。altertablesalesaddconstraintorder_nouniqueunique(order_no);3、利用儲(chǔ)存過程,給employee表增加一條業(yè)務(wù)部門員工的信息。createprocedureproAddEmployee(emp_nochar(5),emp_namechar(10),sexchar(1),deptchar(10),titlechar(6),date_hireddatetime,birthdaydatetime,salaryint,addrchar(50)asinsertint
13、oemployeevalues(emp_no,emp_name,sex,dept,title,date_hired,birthday,salary,addr)goexecproAddEmployeeE0022,羅剛,2009-07-08,1988-02-03,13000,都勻市,M,業(yè)務(wù),經(jīng)理執(zhí)行后:刷新表格后,查察表格,可以發(fā)現(xiàn),表中寫入了信息結(jié)果為:標(biāo)準(zhǔn)文檔4、利用儲(chǔ)存過程從employee、sales、customer表的連接中返回全部業(yè)務(wù)員的姓名、客戶姓名、銷售金額。createprocedurefindasselectemployee.emp_name,customer.cust_n
14、ame,sales.tot_amtfromemployee,customer,saleswheresales.sale_id=employee.emp_noandsales.cust_id=customer.cust_idgoexecfind標(biāo)準(zhǔn)文檔執(zhí)行后結(jié)果為:刷新后,旁邊的儲(chǔ)存過程的顯示為:5、利用儲(chǔ)存過程查找“劉德華”的員工編號(hào)、訂單編號(hào)、銷售金額。標(biāo)準(zhǔn)文檔createprocedurefindasselectemployee.emp_name,customer.cust_name,sales.tot_amtfromemployee,customer,saleswheresales.sa
15、le_id=employee.emp_noandsales.cust_id=customer.cust_idgoexecfind執(zhí)行結(jié)果:標(biāo)準(zhǔn)文檔刷新后,可看見:此結(jié)果采納的數(shù)據(jù)為:Employee表:Sales表:標(biāo)準(zhǔn)文檔6、利用儲(chǔ)存過程查找姓“李”并且職稱為“職員”的員工的員工編號(hào)、訂單編號(hào)、銷售金額。createprocedurefindLiemp_namevarchar(10)asselectemployee.emp_no,sales.order_no,sales.tot_amtfromemployee,saleswhereemployee.emp_no=sales.sale_idan
16、demployee.title=職員and(employee.emp_namelikeemp_name)goexecfindLi李%結(jié)果:標(biāo)準(zhǔn)文檔刷新后,在旁邊可看見:結(jié)果的數(shù)據(jù)中所盤問的表的內(nèi)容為:Employee表:Sales表:標(biāo)準(zhǔn)文檔7、利用儲(chǔ)存過程計(jì)算出訂單編號(hào)為10003的訂單的銷售金額。CREATEPROCEDURE_ORDERorder_novarchar(6)asselectsales.tot_amtfromsaleswheresales.order_no=order_nogoexecPRO_ORDER10003實(shí)驗(yàn)結(jié)果:標(biāo)準(zhǔn)文檔刷新后發(fā)現(xiàn)左側(cè)更新:附錄:實(shí)驗(yàn)示例1、模糊盤問
17、createproceduresp_empnameE_namevarchar(10)asselecta.emp_name,a.dept,b.tot_amtfromemployeeainnerjoinsalesbona.emp_no=b.sale_idwherea.emp_namelikeE_namegoexecsp_empname陳%2、利用儲(chǔ)存過程計(jì)算出E0014業(yè)務(wù)員的銷售總金額。createproceduresp_saletotE_nochar(5),p_totintoutputasselectp_tot=sum(tot_amt)fromsaleswheresale_id=E_nogo標(biāo)
18、準(zhǔn)文檔declaretot_amtintexecsp_saletotE0014,tot_amtoutputselecttot_amt六、實(shí)驗(yàn)結(jié)論儲(chǔ)存過程(StoredProcedure)是在大型數(shù)據(jù)庫(kù)系統(tǒng)中,一組為了完成特定功能的SQL語句集,儲(chǔ)存在數(shù)據(jù)庫(kù)中經(jīng)過第一次編譯后再次調(diào)用不需要再次編譯,用戶經(jīng)過指定儲(chǔ)存過程的名字并給出參數(shù)(假如該儲(chǔ)存過程帶有參數(shù))來執(zhí)行它。儲(chǔ)存過程是數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象,任何一個(gè)設(shè)計(jì)優(yōu)異的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該用到儲(chǔ)存過程。sql中的儲(chǔ)存過程:CREATEPROCEDURE擁有者.儲(chǔ)存過程名;程序編號(hào)(參數(shù)#1,參數(shù)#1024)WITHRECOMPILE|ENCRY
19、PTION|RECOMPILE,ENCRYPTIONFORREPLICATIONAS程序行此中儲(chǔ)存過程名不可以超出128個(gè)字。每個(gè)儲(chǔ)存過程中最多設(shè)定1024個(gè)參數(shù)(SQLServer7.0以上版本),參數(shù)的使用方法以下:參數(shù)名數(shù)據(jù)種類VARYING=內(nèi)定值OUTPUT每個(gè)參數(shù)名前要有一個(gè)“”符號(hào),每一個(gè)儲(chǔ)存過程的參數(shù)僅為該程序內(nèi)部使用,參數(shù)的種類除了IMAGE外,其余SQLServer所支持的數(shù)據(jù)種類都可使用。內(nèi)定值相當(dāng)于我們?cè)诔闪?shù)據(jù)庫(kù)時(shí)設(shè)定一個(gè)字段的默認(rèn)值,這里是為這個(gè)參數(shù)設(shè)定默認(rèn)值。OUTPUT是用來指定該參數(shù)是既有輸入又有輸出值的,也就是在調(diào)用了這個(gè)儲(chǔ)存過程時(shí),假如所指定的參數(shù)值是我們
20、需要輸入的參數(shù),同時(shí)也需要在結(jié)果中輸出的,則該項(xiàng)一定為OUTPUT,而假如不過做輸出參數(shù)用,可以用CURSOR,同時(shí)在使用該參數(shù)時(shí),一定指定VARYING和OUTPUT這兩個(gè)語句。分類:系統(tǒng)儲(chǔ)存過程以sp_開頭,用來進(jìn)行系統(tǒng)的各項(xiàng)設(shè)定.獲得信息.相關(guān)管理工作。2當(dāng)?shù)貎?chǔ)存過程用戶創(chuàng)辦的儲(chǔ)存過程是由用戶創(chuàng)辦并完成某一特定功能的儲(chǔ)存過程,事實(shí)上一般所說的儲(chǔ)存過程就是指當(dāng)?shù)貎?chǔ)存過程。暫時(shí)儲(chǔ)存過程分為兩種儲(chǔ)存過程:一是當(dāng)?shù)貢簳r(shí)儲(chǔ)存過程,以井字號(hào)(#)作為其名稱的第一個(gè)字符,則該儲(chǔ)存過程將成為一個(gè)存放在tempdb數(shù)據(jù)庫(kù)中的當(dāng)?shù)貢簳r(shí)儲(chǔ)存過程,且只有創(chuàng)辦它的用戶才能執(zhí)行它;二是全局暫時(shí)儲(chǔ)存過程,以兩個(gè)井字號(hào)
21、(#)號(hào)開始,則該儲(chǔ)存過程將成標(biāo)準(zhǔn)文檔為一個(gè)儲(chǔ)存在tempdb數(shù)據(jù)庫(kù)中的全局暫時(shí)儲(chǔ)存過程,全局暫時(shí)儲(chǔ)存過程一旦創(chuàng)辦,今后連接到服務(wù)器的任意用戶都可以執(zhí)行它,并且不需要特定的權(quán)限。遠(yuǎn)程儲(chǔ)存過程在SQLServer2005中,遠(yuǎn)程儲(chǔ)存過程(RemoteStoredProcedures)是位于遠(yuǎn)程服務(wù)器上的儲(chǔ)存過程,平??梢允褂梅植际奖P問和EXECUTE命令執(zhí)行一個(gè)遠(yuǎn)程儲(chǔ)存過程。5擴(kuò)展儲(chǔ)存過程擴(kuò)展儲(chǔ)存過程(ExtendedStoredProcedures)是用戶可以使用外面程序語言編寫的儲(chǔ)存過程,并且擴(kuò)展儲(chǔ)存過程的名稱平常以xp_開頭。格式:創(chuàng)辦儲(chǔ)存過程createproceduresp_name參
22、數(shù)名種類,參數(shù)名種類asbeginend以上格式還可以簡(jiǎn)寫成:createprocsp_name參數(shù)名種類,參數(shù)名種類asbeginend/*注:“sp_name”為需要?jiǎng)?chuàng)辦的儲(chǔ)存過程的名字,該名字不可以以阿拉伯?dāng)?shù)字開頭*/調(diào)用儲(chǔ)存過程基本語法:execsp_name參數(shù)名刪除儲(chǔ)存過程基本語法:dropproceduresp_name注意事項(xiàng)(1)不可以在一個(gè)儲(chǔ)存過程中刪除另一個(gè)儲(chǔ)存過程,只好調(diào)用另一個(gè)儲(chǔ)存過程其余常用命令1.showprocedurestatus顯示數(shù)據(jù)庫(kù)中全部?jī)?chǔ)存的儲(chǔ)存過程基本信息,包含所屬數(shù)據(jù)庫(kù),儲(chǔ)存過程名稱,創(chuàng)辦時(shí)間等2.showcreateproceduresp_na
23、me顯示某一個(gè)mysql儲(chǔ)存過程的詳細(xì)信息3、execsp_helptextsp_name顯示你這個(gè)sp_name這個(gè)對(duì)象創(chuàng)辦文本標(biāo)準(zhǔn)文檔七、實(shí)驗(yàn)小結(jié)在本次實(shí)驗(yàn)中,我學(xué)會(huì)了儲(chǔ)存過程的參數(shù)的傳達(dá),以及參數(shù)的輸入和參數(shù)的創(chuàng)辦,以及使用儲(chǔ)存過程去實(shí)現(xiàn)功能的盤問,和打印輸出某些東西。實(shí)驗(yàn)5觸發(fā)器與游標(biāo)實(shí)驗(yàn)學(xué)時(shí):4每組人數(shù):1實(shí)驗(yàn)種類:2(1:基礎(chǔ)性2:綜合性3:設(shè)計(jì)性4:研究性)實(shí)驗(yàn)要求:1(1:必修2:選修3:其余)實(shí)驗(yàn)種類:3(1:基礎(chǔ)2:專業(yè)基礎(chǔ)3:專業(yè)4:其余)一、實(shí)驗(yàn)?zāi)康倪M(jìn)一步熟習(xí)SQL語句對(duì)數(shù)據(jù)庫(kù)進(jìn)行完好性控制的方法;理解觸發(fā)器的看法、定義方法和觸發(fā)條件。理解游標(biāo)的定義、打開、使用、關(guān)閉與
24、開釋的方法。二、實(shí)驗(yàn)內(nèi)容針對(duì)實(shí)驗(yàn)4所建銷售數(shù)據(jù)庫(kù):1、設(shè)置一個(gè)觸發(fā)器,該觸發(fā)器僅同意“dbo”用戶可以刪除employee表內(nèi)數(shù)據(jù),不然出錯(cuò)。2、針對(duì)employee表寫一個(gè)DELETE觸發(fā)器。3、針對(duì)employee表寫一個(gè)UPDATE觸發(fā)器。4、統(tǒng)計(jì)employee表中員工的均勻薪水,輸出低于均勻薪水的員工的人數(shù)以及這些員工的姓名與薪水(使用游標(biāo))。三、實(shí)驗(yàn)要求:1熟習(xí)SQLSERVER工作環(huán)境;標(biāo)準(zhǔn)文檔2恢復(fù)實(shí)驗(yàn)4所建銷售數(shù)據(jù)庫(kù)3復(fù)習(xí)相關(guān)SQL語句對(duì)數(shù)據(jù)庫(kù)進(jìn)行完好性控制的方法;復(fù)習(xí)觸發(fā)器的看法、定義方法和觸發(fā)條件。復(fù)習(xí)游標(biāo)的定義、打開、使用、關(guān)閉與開釋的方法拘束與儲(chǔ)存過程的SQL語言命令
25、。四、實(shí)驗(yàn)步驟設(shè)置一個(gè)觸發(fā)器,該觸發(fā)器僅同意“dbo”用戶可以刪除employee表內(nèi)數(shù)據(jù),不然出錯(cuò)。針對(duì)employee表寫一個(gè)DELETE觸發(fā)器。針對(duì)employee表寫一個(gè)UPDATE觸發(fā)器。統(tǒng)計(jì)employee表中員工的均勻薪水,輸出低于均勻薪水的員工的人數(shù)以及這些員工的姓名與薪水(使用游標(biāo))。五、實(shí)驗(yàn)結(jié)果設(shè)置一個(gè)觸發(fā)器,該觸發(fā)器僅同意“dbo”用戶可以刪除employee表內(nèi)數(shù)據(jù),不然出錯(cuò)。創(chuàng)辦命令為:createtriggerEmploteeDeleteonemployeefordeleteasifexists(select*fromdeleted)-要?jiǎng)h除的是有數(shù)據(jù)的begini
26、fuser!=dbo/*假如不是dbo用戶*/rollbacktransactionend結(jié)果:標(biāo)準(zhǔn)文檔2.針對(duì)employee表寫一個(gè)DELETE觸發(fā)器。創(chuàng)辦命令:createtriggerdelete_disployonemployeefordelete/*默認(rèn)after*/as/*操作*/SELECT*fromemployeeBEGINPRINT已觸發(fā)觸發(fā)器了END結(jié)果:標(biāo)準(zhǔn)文檔測(cè)試:發(fā)現(xiàn)輸出來的表已無E00001,說明刪除成功再看輸出來的信息:標(biāo)準(zhǔn)文檔說明觸發(fā)器成功執(zhí)行3.針對(duì)employee表寫一個(gè)UPDATE觸發(fā)器。命令:createtriggerUPDATE_DISPLOYONE
27、MPLOYEEFORUPDATEAS/*操作*/select*fromemployeeBEGINPRINT觸發(fā)了更新操作的觸發(fā)器END結(jié)果:標(biāo)準(zhǔn)文檔更新前的數(shù)據(jù)為:更新后:信息處顯示為:標(biāo)準(zhǔn)文檔統(tǒng)計(jì)employee表中員工的均勻薪水,輸出低于均勻薪水的員工的人數(shù)以及這些員工的姓名與薪水(使用游標(biāo))。原來備份過數(shù)據(jù)庫(kù),因此我先把數(shù)據(jù)后還原還原后,employee表的數(shù)據(jù)為:命令為:DECLARECUR_EMPLOEE_NAME_SALARYSCROLLCURSORFOR-定義游標(biāo)名為CUR_EMPLOEE_NAME_SALARYSELECTEMPLOYEE.emp_no,EMPLOYEE.sal
28、aryFROMEMPLOYEEWHEREMPLOYEE.salary(SELECTAVG(EMPLOYEE.salary)FROMEMPLOYEE)OPENCUR_EMPLOEE_NAME_SALARY打開-游標(biāo)declareemp_noCHAR(5),salaryINT-定義采納出來的局部變量DECLARECOUNTINT,AVG_SALARYINTsetCOUNT=0SETAVG_SALARY=(SELECTAVG(EMPLOYEE.salary)FROMEMPLOYEE)PRINT均勻薪水為:+convert(char(6),AVG_SALARY)-打印均勻薪水fetchnextfrom
29、CUR_EMPLOEE_NAME_SALARYintoemp_no,salary-讀數(shù)據(jù)到局部變量WHILE(FETCH_STATUS=0)BEGINSELECTemp_no,salaryfetchnextfromCUR_EMPLOEE_NAME_SALARYintoemp_no,salarysetCOUNT=COUNT+1END-selectCOUNT-printstr(COUNT)print總合+convert(char(2),COUNT)+人CLOSECUR_EMPLOEE_NAME_SALARY關(guān)閉-游標(biāo)DEALLOCATECUR_EMPLOEE_NAME_SALARY開釋-游標(biāo)標(biāo)準(zhǔn)文
30、檔結(jié)果:標(biāo)準(zhǔn)文檔六、實(shí)驗(yàn)結(jié)論觸發(fā)器(trigger)是SQLserver供應(yīng)給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完好性的一種方法,它是與表事件相關(guān)的特別的儲(chǔ)存過程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動(dòng),而是由事件來觸發(fā),比方當(dāng)對(duì)一個(gè)表進(jìn)行操作(insert,delete,update)時(shí)就會(huì)激活它執(zhí)行。觸發(fā)器與儲(chǔ)存過程的獨(dú)一差別是觸發(fā)器不可以執(zhí)行用戶執(zhí)行Transact-SQL語句時(shí)自動(dòng)觸發(fā)執(zhí)行語法:EXECUTE語句調(diào)用,而是在DELIMITER|CREATETRIGGER.ONdbo/dbo代表該表的全部者FOREACHROWBEGIN-dosomethingEND|標(biāo)準(zhǔn)文檔七、實(shí)驗(yàn)小結(jié)學(xué)會(huì)了觸發(fā)器的使用,創(chuàng)辦和對(duì)于更新時(shí)候的做的操作的設(shè)定和對(duì)于觸發(fā)器而后顯示出已觸犯的成效,進(jìn)行了學(xué)習(xí)。學(xué)會(huì)了創(chuàng)辦和申明游標(biāo),學(xué)會(huì)使用游標(biāo)去讀取一行行數(shù)據(jù),學(xué)會(huì)了如何把varchar種類用函數(shù)變換成ch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年事業(yè)單位合同簽訂風(fēng)險(xiǎn)防范與應(yīng)對(duì)措施
- 2025年廣州房地產(chǎn)交易合同居間操作流程
- 2025年數(shù)字視頻切換臺(tái)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模稿
- 2025年合作經(jīng)營(yíng)居間投資協(xié)議書
- 2025年專業(yè)知識(shí)產(chǎn)權(quán)顧問合同范本
- 2025年債權(quán)轉(zhuǎn)讓合同協(xié)議示范
- 2025年信息技術(shù)咨詢顧問服務(wù)年合同
- 2025年農(nóng)村耕地流轉(zhuǎn)合同樣本
- 2025年住宿生權(quán)益協(xié)議
- 2025年傳統(tǒng)村落保護(hù)搬遷安置協(xié)議
- 十首最美的唐詩(shī)
- 2024年中考二輪專題復(fù)習(xí)道德與法治主觀題答題技巧(小論文)之演講稿
- 質(zhì)檢工作計(jì)劃書2025質(zhì)檢部工作計(jì)劃范文
- 施工現(xiàn)場(chǎng)5S管理規(guī)范
- 《纏論的實(shí)戰(zhàn)技法》課件
- 新版標(biāo)準(zhǔn)化機(jī)電專業(yè)管理體系解讀課件
- 承包魚塘維修施工合同范例
- 耶魯綜合抽動(dòng)嚴(yán)重程度量表正式版
- 水利水電工程建設(shè)常見事故類型及典型事故分析(標(biāo)準(zhǔn)版)
- 《小學(xué)英語教學(xué)設(shè)計(jì)》課件全套 陳冬花 第1-10章 小學(xué)英語教學(xué)設(shè)計(jì)概述-小學(xué)英語課堂管理
- 電力線路常見故障培訓(xùn)
評(píng)論
0/150
提交評(píng)論