存儲過程及觸發器練習題講訴_第1頁
存儲過程及觸發器練習題講訴_第2頁
存儲過程及觸發器練習題講訴_第3頁
存儲過程及觸發器練習題講訴_第4頁
存儲過程及觸發器練習題講訴_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、有教師表(教師號,教師名,職稱,基本工資),其中基本工資的取值與教師職稱有關。實現這個約束的可行方案是()。A在教師表上定義一個視圖B在教師表上定義一個存儲過程C在教師表上定義插入和修改操作的觸發器D在教師表上定義一個標量函數參考答案C在SQLSERVE中,執行帶參數的過程,正確的方法為()A過程名參數B過程名(參數)C過程名=參數DABC勻可參考答案在SQLSERVE服務器上,存儲過程是一組預先定義并(Transact-SQL語句。)的A保存B解釋C編譯D編寫參考答案C)類型在SQLServer中,觸發器不具有(AINSERT觸發器BUPDATE*發器CDELETE發器DSELECT觸發器參

2、考答案D插入和更新命令來執行()允許用戶定義一組操作,這些操作通過對指定的表進行刪除、或觸發。A存儲過程B規則C觸發器D索引為了使用輸出參數,需要在CREATPROCEDU語句中指定關鍵字(AOPTIONBOUTPUTCCHECKDDEFAULT) 語句用于創建觸發器下列(ACREATEPROCEDUREBCREATETRIGGERCALTERTRIGGERDDROPTRIGGER) 語句用于刪除觸發器。下列(ACREATEPROCEDUREBCREATETRIGGERCALTERTRIGGERDDROPTRIGGER參考答案列(語句用于刪除存儲過程ACREATEPROCEDUREBCREAT

3、ETABLECDROPPROCEDURED其他參考答案C下列()語句用于創建存儲過程ACREATEPROCEDUREBCREATETABLECDROPPROCEDURED其他參考答案Asp_help屬于哪一種存儲過程()?A系統存儲過程B用戶定義存儲過程C擴展存儲過程D其他A以下語句創建的觸發器是當對表A進行()操作時觸發CREATETRIGGERABCON表AFORINSERT,UPDATE,DELETEASA只是修改B只是插入C只是刪除D修改,插入,刪除參考答案D()允許用戶定義一組操作,這些操作通過對指定的表進行刪除、或觸發。插入和更新命令來執行A存儲過程B視圖C觸發器D索引參考答案C下

4、列可以查看表的行數以及表使用的存儲空間信息的系統存儲過程是(Asq_spaceusedBsq_depends)。Csq_helpDsq_rename參考答案A以下哪個不是存儲過程的優點()A實現模塊化編程,一個存儲過程可以被多個用戶共享和重用。B可以加快程序的運行速度。C可以增加網絡的流量。D可以提高數據庫的安全性。參考答案C以下哪個不是存儲過程的優點()A實現模塊化編程,一個存儲過程可以被多個用戶共享和重用。B可以加快程序的運行速度。C可以增加網絡的流量。D可以提高數據庫的安全性。參考答案C替代觸發器(insteadof)是在觸發觸發器的修改操作(A執行后B之前C停止執行時D同時參考答案B以

5、下不屬于存儲過程特點的是()執行A在刪除所涉及表時,同時被刪除B代碼執行效率高C數據查詢效率高D模塊化編程參考答案A以下不屬于觸發器特點的是()A基于一個表創建,可以針對多個表進行操作B被觸發自動執行C可以帶參數執行D可以實施更復雜的數據完整性約束參考答案C以下()不是觸發觸發器的操作。ASELECTBUPDATECDELETEDINSERT參考答案A關于存儲過程和觸發器的說法,正確的是()。A都是SQLServer數據庫對象B都可以為用戶直接調用C都可以帶參數D刪除表時,都被自動刪除參考答案A如果需要在插入表的記錄時自動執行一些操作,常用的是()。A存儲過程B函數C觸發器D存儲過程與函數參考

6、答案C對SQLServer中的存儲過程,下列說法中正確的是:存儲過程()。A不能有輸入參數B沒有返回值C可以自動被執行D可以嵌套使用參考答案D存儲過程經過了一次創建以后,可以被調用()次。A1B2C255D無數參考答案D以下()不是存儲過程的優點。A執行速度快B模塊化的設計C會自動被觸發D保證系統的安全性參考答案C下面關于觸發器的描述,錯誤的是()。A觸發器是一種特殊的存儲過程,用戶可以直接調用B觸發器表和deleted表沒有共同記錄C觸發器可以用來定義比CHECK約束更復雜的規則D刪除觸發器可以使用DROPTRIGGER命令,也可以使用企業管理器參考答案ASQLServer為每個觸發器創建了

7、兩個臨時表,它們是()。AUpdated和DeletedBInserted和DeletedCUpdated和InsertedDUpdated和Selected參考答案B在SQL語言中,建立存儲過程的命令是()。ACREATEPROCEDUREBCREATERULECCREATEDUREDCREATEFILE參考答案A已定義存儲過程AB,帶有一個參數stnamevarchar(20),正確的執行方法為AEXECAB?吳小雨?BEXECAB=?吳小雨?CEXECAB(吳小雨)D其他3種都可以參考答案A對于下面的存儲過程:CREATEPROCEDUREMyp1pIntASSELECTSt_name,

8、AgeFROMStudentsWHEREAge=p假如要在Students表中查找年齡是20歲的學生,()可以正確的調用這個存儲過程。AEXECMyp1p=20BEXECMyp1p=20CEXECMyp1=20DEXECMyp1=20參考答案B當某個表被刪除后,該表上的觸發器被自動刪除。參考答案正確SQLServer為每個觸發器創建了兩個臨時表,它們是updated和deleted。參考答案錯誤存儲過程是存儲在服務器上的一組預編譯的Transact-SQL語句。參考答案正確在SQLSERVER中,觸發器的執行是在數據的插入、更新或刪除之前執行的。參考答案錯誤若要修改一個存儲過程,可以先刪除該存

9、儲過程,再重新創建。參考答案正確觸發器與表緊密相連,可以看作表定義的一部分。參考答案正確臨時存儲過程總是在master數據庫中創建。通常分為局部臨時存儲過程和全局臨時存儲過程。參考答案錯誤某個表被刪除后,該表上的所有觸發器將自動被刪除。參考答案正確SQLServer中的存儲過程具有5種類型。參考答案正確存儲過程的輸出結果可以傳遞給一個變量。參考答案正確觸發器是可在程序中被調用執行。參考答案錯誤存儲過程是存儲在服務器上的一組預編譯的Transcat-SQL語句。參考答案正確創建觸發器的時候可以不是表的所有者或數據庫的所有者。參考答案錯誤每個存儲過程向調用方返回一個整數返回代碼。如果存儲過程沒有顯

10、式設置返回代碼的值,則返回代碼為0,表示成功。參考答案正確在SQLServer中,觸發器的執行通過EXECUTE命令實現。參考答案錯誤在SQLSERVER中,替代觸發器的執行是在數據變動之前被觸發,對于每個觸發操作只能定義一個替代觸發器。參考答案正確使用存儲過程可以減少網絡流量考答案正確存儲過程使代碼具有重用性。參考答案正確觸發器不能被調用,它可以自動執行。參考答案正確在SQLSERVER中,觸發器的執行是在數據的插入、更新或刪除之前執行的。參考答案錯誤創建存儲過程的命令關鍵字CREATEPROCEDUR可以縮寫。參考答案錯誤觸發器可以在視圖上定義。參考答案錯誤觸發器被激活后自動創建delet

11、ed和inserted兩個臨時表。參考答案錯誤ROLLBACKTRANSACTION的意思是回滾事務。參考答案正確觸發器用來定義比CHECK約束更復雜的規則或要求。參考答案正確通過語句ALTERPROCEDURE改存儲過程與刪除存儲過程然后再新建一個同名存儲過程的效果是相同的。參考答案錯誤某SQLServer2000數據庫中兩張表:商品表(商品號,商品名,商品類型,價格)和銷售表(商品號,銷售時間,銷售數量,銷售單價)。用戶需統計指定年份每類商品的銷售總數量和銷售總利潤,要求只列出銷售總利潤最多的前三類商品的商品類別、銷售總數量和銷售總利潤。為了完成該統計操作,請按要求將下面的存儲過程補充完整

12、。CREATEPROCp_SumyearINTASSELECT(_1_)商品類別,SUM銷售數量)AS銷售總數量,(_2_)AS銷售總利潤FROM商品表JOIN銷售表ON商品表.商品號=銷售表.商品號= yearWHEREyear(銷售時間)GROUPBY商品類別ORDERBY銷售總利潤(_3_)參考答案:TOP3(銷售單價-成本價)*SUM(銷售數量)DESC降序)在SQLServer2000中,設有顧客表(顧客號,顧客名,所在地區,年齡),應用系統中需統計指定地區的顧客人數和平均年齡。請補全下列存儲過程代碼以完成該功能。CREATEPROCP_Countareavarchar(20)ASS

13、ELECTCOUNT(*)AS人數,(_1_)AS平均年齡FROM顧客表WHERE所在地區=area1:AVG年齡)以下代碼創建和執行存儲過程proc_score,查詢S_C_Info表中C_No為“0002”除t_ID,Score等信息。CREATEPROCpro_scoreASSELECTSt_ID,_1_FROMS_C_InfoWHEREC_No=0002執行存儲過程proc_score命令為:EXEC21:ScoreCREATEtr_P1 stID varchar(10)ASSELECT St_Info.St_ID, St_Info.St_Name, C_Info.C_Name, C_

14、Info.C_Type, SCInfo.ScoreFROM St_Info, S_C_Info, C_InfoWHERE StInfo.StID = SCInfo.StID AND SCInfo.CNo = CInfo.CNo調用該存儲過程查詢“ 0403060111 ”學生的選修課程情況。 040306011T實現根據學類型、1 : PROCEDURE 或PROC2 : EXECUTE trP1或 EXEC tr_P1觸發器主要用于強制復雜的_1_或要求。1 :業務規則創建存儲過程實際是對存儲過程進行定義的過程,的主體部分。主要包含存儲過程名稱、1 和存儲過程SQLServer 中的存儲過程

15、具有_1_、用戶自定義存儲過程、臨時存儲過程、遠_2_5 種類型。程存儲過程、2:proc_score在student_db數據庫中創建一個名為“tr_P1”的存儲過程,實現根據學生學號,查詢該學生的選修課程情況,其中包括該學生的學號、姓名、課程名、課程成績。1:系統存儲過程2:擴展存儲過程有表C_Info(C_No,C_Nam,eC_Type,Credit),各屬性的含義為課程號、課程名稱、課程類別、學分,為該表創建一個觸發器tr_AutoSetType,以便插入數據時將課程類別修改為“必修”。CREATETRIGGERtr_AutoSetTypeONC_InfoASUPDATEC_lnfo

16、SETC_Type=必修1:FORlNSERT用戶對數據進行添加、修改和刪除時,自動執行的存儲過程稱為1:觸發器觸發器是一種特殊類型的_1_,但不由用戶直接調用,而是通過事件被執行。1:存儲過程與觸發器相關的虛擬表主要有_1_表和Deleted表兩種。1:lnserted或lNSERTED或inserted替代觸發器(INSTEADOF將在數據變動前被觸發,對于每個觸發操作,只能定義_1_個INSTEADOF觸發器。對存儲在數據庫中的存儲過程,可以使用_1_命令或直接按其名稱執行。(答題時,英文使用大寫形式)1:EXEC或EXECUTE存儲過程是一種數據庫對象,將一組SQL語句和控制流語句的集

17、合以一個存儲單元的形式保存在_1_上。1:服務器擴展存儲過程以“xp_”為前綴定義,只能添加到1_數據庫中。(答題時,英文使用小寫)1:master刪除表中記錄后,被刪除的記錄臨時存儲在_1_表中。(答題時,英文使用小寫)1:deleted讀程序填空。要求創建一個存儲過程myproc,查詢指定班級中選修指定課程的學生人數,并將查詢結果通過參數返回。以下過程調用存儲過程查詢“材料科學0601”班中選修“C語音程序設計基礎”的學生人數:CREATEPROCEDUREmyprocclassnameVARCHAR(20),cnameVARCHAR(20),countINTOUTPUTASSELECTC

18、OUNT(*)FROMS_C_Infosc,st_infos,c_infocWHEREc.c_no=sc.c_noANDs.st_id=sc.st_idANDs.Cl_Name=classnameANDc.C_Name=cname執行這個存儲過程的語句段為:DECLAREcountintEXECmyproc材料科學0601班,語言程序設計基礎printcount1:countOUTPUT在存儲過程中,使用_1_命令可以無條件退出過程回到調用程序。1:RETURN要刪除一個存儲過程,則可以使用的語句是:1 PROCEDURE1 : DROP在 SQL Server 中,當數據表被修改時,系統可以自動執行

溫馨提示

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

評論

0/150

提交評論