freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)庫習(xí)題及解答-資料下載頁

2025-03-25 02:56本頁面
  

【正文】 建一個(gè)表函數(shù),以系名、課程名為形參,對(duì)形參賦以系名D、課程名C時(shí),可以查詢?cè)撓抵羞x修了該課程的全部學(xué)生的成績(jī)。解:Use studentclassGoCreate function D_course1(@depart char(16),@Cname varchar(20)) Returns tableAs return (select Sname,Cname,Grade from Student S, SC,Course Cwhere = AND = AND @Cname= AND @depart= depart)go32 對(duì)于實(shí)參(系名、課程名)=(39。D0300339。,39。c語言39。),調(diào)用題31中的表函數(shù)D_course1,查詢?cè)撓抵羞x項(xiàng)修了該課程的全部學(xué)生的和成績(jī)。Use studentclassGoSELECT * from (39。D0300339。,39。c語言39。)Go33 SELECT語句與,Print語句都有輸出功能,它們?cè)谳敵鼋Y(jié)果及顯示上有什么不同?解: SELECT語句執(zhí)行的結(jié)果都是關(guān)系,顯示在“網(wǎng)格”里;Print語句執(zhí)行的結(jié)果都是非關(guān)系顯示在“消息”里。34 算符“+”,有幾種含義,試說明。解:運(yùn)算符“+”,有二種含義。對(duì)于表達(dá)式A+B,當(dāng)A,B同為數(shù)值型數(shù)據(jù)時(shí),運(yùn)算符“+”是算述運(yùn)算;當(dāng)A,B同為字符型型數(shù)據(jù)時(shí),運(yùn)算符“+”是字符串連接運(yùn)算。34 如下程序中,語句(93)中@sname不是一個(gè)合法的變量?為什么?Declare @sname char(16) 定義一個(gè)變量’Set @sname=39。張家民39。 使用Set賦值Print @sname 顯示變量的當(dāng)前值GoSet @sname=39。劉河島39。 (93)Print @snameGo解:語句(93)中@sname是一個(gè)非法的變量,因?yàn)樗鼪]有被定義。36 中exists稍作修改后如下,那么語句(910)是否有可有被執(zhí)行,為什么?Begin declare @c_name char(20), @Cno char(12)set @Cno=39。C09080700339。IF exists (select count (*) FROM SC WHERE Cno=@Cno) (99) BEGIN SET @c_name=(select Cno from Course Where Cno =@Cno) Select 39。選修課程39。+@c_name +39。的學(xué)生成績(jī)單:39。Select ,Cname,Sname,Grade = caseWhen Grade =90 then 39。優(yōu)39。 When Grade =80 then 39。良39。When Grade =70 then 39。中等39。When Grade =60 then 39。及格39。 Else 39。不及格39。endFrom Student S,Course C,SCWhere = and = and =@CnoEndElse print 39。沒有選修39。+@c_name +39。的學(xué)生39。 (910)EndGo解語句(99)中select count (*) FROM SC WHERE Cno=@Cno其執(zhí)行結(jié)果始終是一個(gè)非空集,因此語句(910)不可能被執(zhí)行。 習(xí)題10及其解答1 存儲(chǔ)過程概念理解解:對(duì)于一項(xiàng)復(fù)雜的任務(wù)A,將完成任務(wù)A的各種命令集中起來,寫成一個(gè)新的命令A(yù)’。執(zhí)行命令A(yù)’,就可以完成任務(wù)A。這種方法,稱為存儲(chǔ)過程。存儲(chǔ)過程由若干批處理所構(gòu)成,可以完成對(duì)數(shù)據(jù)庫的復(fù)雜操作。2 存儲(chǔ)過程的定義形式1(不帶參量的存儲(chǔ)過程定義)解:create procedure 存儲(chǔ)過程名ASSQL 語句3 在數(shù)據(jù)庫Use studentclass中定義名為ScoreNoPass_pro的存儲(chǔ)過程,用來在表Student,、Course、 SC中查詢不及格的學(xué)生其學(xué)號(hào)、姓名、課程名、成績(jī)解:Use studentclass (1)gocreate procedure ScoreNoPass_pro (2)asselect , from Student a, Course b, SC cwhere = and = and 60go4 上述代碼執(zhí)行后,通過什么路徑可查看存儲(chǔ)過程ScoreNoPass_pro解:上述代碼執(zhí)行后,通過什么路徑:數(shù)據(jù)庫\ studentclass\存儲(chǔ)過程\ ScoreNoPass_pro,查看存儲(chǔ)過程ScoreNoPass_pro已被創(chuàng)建。5 已定義的存儲(chǔ)過程是以源代碼形式還是以可執(zhí)行代碼的形式被存放在系統(tǒng)中?解:是以可執(zhí)行代碼存放在系統(tǒng)中。6 存儲(chǔ)過程調(diào)用形式1是什么(不帶參量的存儲(chǔ)過程調(diào)用)?解:Execute 存儲(chǔ)過程名7 寫出存儲(chǔ)過程的定義形式2(帶參量而無返回參量的存儲(chǔ)過程定義)解:create procedure 存儲(chǔ)過程名@形參變量1 數(shù)據(jù)數(shù)據(jù)類型1,……, @形參變量k 數(shù)據(jù)數(shù)據(jù)類型kASSQL 語句8 在數(shù)據(jù)庫studentclass中建立一個(gè)名為Addsc_proc的存儲(chǔ)過程,用來在選課表中批量插入某系某門課程的成績(jī),Grade暫時(shí)為空,某系與某門課程二者為參量,數(shù)據(jù)類型均為字符型。解:Use studentclassgocreate procedure Addsc_proc@v_Cno varchar(10), @v_Dpart varchar(6)asinsert into SC(Sno,Cno,grade)select Sno, @v_Cno ,nullfrom Studentwhere Depart=@v_Dpartgo9 寫出存儲(chǔ)過程調(diào)用形式2(帶參量而無返回參量的存儲(chǔ)過程調(diào)用)Execute 存儲(chǔ)過程名 實(shí)參1,……,實(shí)參k10 調(diào)用存儲(chǔ)過程Addsc_proc,準(zhǔn)備用于在選課表中批量插入計(jì)算機(jī)系(39。D0300139。)計(jì)算機(jī)基礎(chǔ)課程(39。c090807002)的成績(jī)。解:execute Addsc_proc 39。c09080700239。, 39。D0300139。11 寫出存儲(chǔ)過程的定義形式3(只有一個(gè)返回參量的存儲(chǔ)過程定義)解:create procedure 存儲(chǔ)過程名@形參變量1 數(shù)據(jù)數(shù)據(jù)類型1,……, @形參變量k 數(shù)據(jù)數(shù)據(jù)類型k@形參變量k+1 OUTPUT1,……, @數(shù)據(jù)數(shù)據(jù)類型n OUTPUTASSQL 語句12 定義一個(gè)存儲(chǔ)過程,其功能是將二個(gè)字符串連接起來,并返回其結(jié)果。解:CREATE PROC strconnect2@a VARCHAR(10),@b VARCHAR(10),@result VARCHAR(20) OUTPUTASSET @result=@a+@b13 寫出存儲(chǔ)過程定義的一般格式與存儲(chǔ)過程調(diào)用的一般格式解:存儲(chǔ)過程定義的一般格式Create procedure 存儲(chǔ)過程名[@形參變量1 數(shù)據(jù)類型1,……, @形參變量k 數(shù)據(jù)類型k,][@形參變量中k+1 數(shù)據(jù)類型k+1 OUTPUT,……, @形參變量中k+1 數(shù)據(jù)類型k+n OUTPUT]As SQL 語句存儲(chǔ)過程調(diào)用的一般格式Execute procedure 存儲(chǔ)過程名[實(shí)參1,……,實(shí)參k ][@形參變量中k+1 數(shù)據(jù)類型k+1 OUTPUT,……, @形參變量中k+n 數(shù)據(jù)類型k+1 OUTPUT] 14 寫出刪除存儲(chǔ)過程的一般格式drop procedure 存儲(chǔ)過程名15 用戶定義的臨時(shí)存儲(chǔ)過程名,以什么符號(hào)開頭,存放在什么數(shù)據(jù)庫中?解:用戶定義的昨臨時(shí)存儲(chǔ)過程名,以一個(gè)“”號(hào)開頭,存放在“tempdb”數(shù)據(jù)庫之中。16 系統(tǒng)存儲(chǔ)過程名以什么符號(hào)開頭?存放在什么地方?你已經(jīng)學(xué)習(xí)過哪些些系統(tǒng)存儲(chǔ)過程? 解:系統(tǒng)存儲(chǔ)過程名以sp_開頭,存放在master數(shù)據(jù)庫中。已經(jīng)學(xué)習(xí)過 sp_bindefault , sp_droptype 等系統(tǒng)存儲(chǔ)過程。第11章 習(xí)題及其解答1 問題回答:觸發(fā)器是定義在表上,還是定義在數(shù)據(jù)庫上?觸發(fā)器是由關(guān)鍵字execute調(diào)用來激活,還是由數(shù)據(jù)操作來活?觸發(fā)器分為哪能三類?觸發(fā)器定義中,關(guān)鍵字for 與before 在功能上有沒有區(qū)別?觸發(fā)器的功能是不是由觸發(fā)體所決定的?2 寫出觸發(fā)器定義格式,并闡述其意義。解: CREATE TRIGGER 觸發(fā)器名A ON 表名B FOR 操作C AS 觸發(fā)體D上述定義是在表B上創(chuàng)建一個(gè)觸發(fā)器A,其功能是當(dāng)在表B上實(shí)施操作C時(shí),激活觸發(fā)器A,從而執(zhí)行觸發(fā)體中的語句塊D。其中,觸發(fā)體D可以是任意的SQL語句塊,操作C{insert,update,delete}。3 寫出你對(duì)下述代碼的理解:Create trigger insert_retireOn StudentFor deleteAs Declare @v_Sno varchar(8) (1)Select @v_Sno=Sno from deleted (2)Insert Into retireValues (@v_Sno) (3)go理解:在表Student上創(chuàng)建了一個(gè)觸發(fā)器,名為insert_retire,其中語句(1)(3)是觸發(fā)體。此觸發(fā)器的功能是:當(dāng)在表Student上實(shí)施操作delete時(shí), 激活觸發(fā)器insert_retire,從而執(zhí)行觸發(fā)體中的語句塊(1)(3)。觸發(fā)體執(zhí)行的結(jié)果是將表Student中被刪除的元組中的學(xué)號(hào)插入到表 retire中。4 在數(shù)據(jù)庫Studentlass的基表Student上定義一個(gè)觸發(fā)器insert_retire 之后,以什么樣的路徑可以查看到位該觸發(fā)器的存在? 解:通過路徑:Studentlass\Student(右)\所有任務(wù)\管理觸發(fā)器,可以察看到觸發(fā)器insert_retire已經(jīng)被創(chuàng)建。5 代碼分析:運(yùn)行下述代碼之后,在表Student中不再有什么樣的一條記錄,表retire1中添加了一條什么樣的記錄?使用什么語句可以檢驗(yàn)?zāi)愕呐袛啵?Use Studentlassgocreate table retire1(ReSno varchar(8) primary key, Redate datetime)GoCreate trigger insert_retire1On StudentFor deleteAs Declare @v_Sno varchar(8)Declare @v_Redate datetime Select @v_Sno=Sno from deleted Insert Into retire1Values (@v_Sno,getdate())godeletefrom Studentwhere Sno=39。S080700239。go解:運(yùn)行上述代碼之后,在表Student中不再有學(xué)號(hào)為39。S080700239。的記錄,表retire1中添加了一條學(xué)號(hào)為39。S080700239。的記錄。使用下述語句可以檢驗(yàn)這一判斷:select *from Studentgoselect *from retire1go6 已知數(shù)據(jù)庫Studentclass中有4張表:Depart、Student、Course、SC,而表Student中有字段被SC的字段引用,那么,在表Student上可以有效定義delete觸發(fā)器嗎?表Student上可以insert觸發(fā)器嗎?為什么?解:在表Student上一般情況下不能有效定義delete觸發(fā)器,因?yàn)橛|發(fā)語句delete不能被執(zhí)行,否則違背了數(shù)據(jù)的參照完整性。因而觸發(fā)器不可能被激活。在表Student上可以定義insert觸發(fā)器嗎,因?yàn)樵诒鞸tudent上實(shí)施insert操作可以不違背數(shù)據(jù)的完整性。因而觸發(fā)器不可能被激活。7 設(shè)SC表上定義了一個(gè)delet觸發(fā)器,那么在表20SC實(shí)施delete 操作時(shí),DBMS會(huì)不會(huì)自動(dòng)生成 一個(gè)臨時(shí)表deleted,且記錄被刪除元組的相關(guān)信息。設(shè)SC表上沒有定義delet觸發(fā)器,那么在表SC實(shí)施delete 操作時(shí),DBMS會(huì)不會(huì)自動(dòng)生成一個(gè)臨時(shí)表deleted,且記錄被刪除元組的相關(guān)信息? 設(shè)計(jì)一個(gè)實(shí)驗(yàn),對(duì)你的回答進(jìn)行檢驗(yàn)。8 實(shí)驗(yàn)設(shè)計(jì)(insert 觸發(fā)器) 建立插入觸發(fā)器,實(shí)現(xiàn)當(dāng)插入新生記錄時(shí),自動(dòng)將該生的在Course表中所有課程的成績(jī)插入選課表SC中,成績(jī)?cè)O(shè)為null.解:代碼為Drop trigger InsertSCUse StudentlassgoCreate trigger InsertSCOn StudentFor insertAs Declare @v_Sno varchar(8)Select @v_Sno=Sno from insertedInsert Into
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1