




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、選擇題1、下面(_B_)描述是正確的。 A、視圖是一種常用的數(shù)據(jù)庫對(duì)象,使用視圖不可以簡(jiǎn)化數(shù)據(jù)操作。B、使用視圖可以提高數(shù)據(jù)庫的安全性。 C、視圖和表一樣是由數(shù)據(jù)構(gòu)成的。D、視圖必須從多個(gè)數(shù)據(jù)表中產(chǎn)生才有意義。2、下面(_D_)組命令,將變量count值賦值為1。A、DIM count int SELECT count=1 B、DIM count=1 int C、DECLARE count int SELECT count=1D、DECLARE count int SELECT count=13、你要為一個(gè)向全世界出口產(chǎn)品的物流公司開發(fā)一個(gè)數(shù)據(jù)庫。這個(gè)公司
2、有關(guān)銷售信息的資料都存儲(chǔ)在一個(gè)名為sales的表格內(nèi)。消費(fèi)者的名字都被存放一個(gè)名為Customers的數(shù)據(jù)庫內(nèi)。以下是創(chuàng)建表格的腳本代碼。CREATE TABLE Customers ( CustomerID int NOT NULL, CustomerName varchar (30) NOT NULL, ContactName varchar (30) NULL, Phone varchar (20) NULL, Country varchar (30) NOT NULL) 通常每個(gè)國家只有1,2名顧客。然而, 有些國家有多達(dá)20 名顧客。公司的營(yíng)銷部門想要對(duì)超過10個(gè)顧客的國家做廣告。你
3、要為營(yíng)銷部門創(chuàng)建一個(gè)包含這些國家的名單列表。你應(yīng)該使用哪個(gè)代碼? ( A )A. SELECT Country FROM Customers GROUP BY Country HAVING COUNT (Country) > 10B. SELECT TOP 10 Country FROM Customers C. SELECT TOP 10 Country FROM CustomersFROM (SELECT DISTINCT Country FROM Customers) AS XGROUP BY Country HAVING COUNT(*) > 10D. SET ROWCOU
4、NT 10 SELECT Country , COUNT(*) as “NumCountries” FROM Customers GROUP BY Country ORDER BY NumCountries Desc4、下列關(guān)于數(shù)據(jù)庫、文件和文件組的描述中,錯(cuò)誤的是( B )。A)一個(gè)文件或文件組只能用于一個(gè)數(shù)據(jù)庫B)一個(gè)文件可以屬于多個(gè)文件組 C)一個(gè)文件組可以包含多個(gè)文件D)數(shù)據(jù)文件和日志文件放在同一個(gè)組中5、學(xué)生成績(jī)表包含列“學(xué)號(hào)”、“課程代號(hào)”、“成績(jī)”、“考試時(shí)間”等。列“成績(jī)”的值為NULL表示該學(xué)生缺考這門課。請(qǐng)用SELECT語句查詢學(xué)號(hào)為“”的學(xué)生所有缺考的課程數(shù)( A )。A
5、、SELECT COUNT(*) FROM 學(xué)生成績(jī)表 WHERE 學(xué)號(hào) = '98120001' AND 成績(jī) IS NULLB、SELECT COUNT(成績(jī)) FROM 學(xué)生成績(jī)表 WHERE 學(xué)號(hào) = '98120001' AND 成績(jī) IS NULLC、SELECT COUNT(*) FROM 學(xué)生成績(jī)表 WHERE 學(xué)號(hào) = '98120001' AND 成績(jī)NULLD、SELECT COUNT(成績(jī)) FROM 學(xué)生成績(jī)表 WHERE 學(xué)號(hào) = '98120001' AND 成績(jī)= NULL6、在錄入公司業(yè)務(wù)信息時(shí),
6、要確保字段“業(yè)務(wù)量”的值在100到200之間,需要使用下列哪種約束( D )。A)DEFAULT B)PRIMARY KEYC)UNIQUED)CHECK7、以下不是SQL Server 2005觸發(fā)器類型的是(_B_)。A、INSERT觸發(fā)器 B、SELECT觸發(fā)器C、UPDATE觸發(fā)器 D、DELETE觸發(fā)器8、在學(xué)生成績(jī)表tblCourseScore中的列Score用來存放某學(xué)生學(xué)習(xí)某課程的考試成績(jī)(0100分,沒有小數(shù)), 用下面的哪種類型最節(jié)省空間?( C )。A) intB) smallintC) tinyintD) decimal(3,0)9、以下哪個(gè)不能用于處理缺失的信息.(
7、A ) A. inner join B. left outer join C. right outer join D. full outer join10、修改存儲(chǔ)過程使用的語句是(_B_)。A、INSERT PROCEDURE B、ALTER PROCEDURE C、DROP PROCEDUE D、DELETE PROCEDUE11、在Insert Into語句中某些列是可以不插入值,給出列時(shí),可以省略這些列,以下說法不正確的是:( D )A. 具有Identity屬性的列,可以省略;B. 具有默認(rèn)值的列,可以省略;C.
8、 允許為空的列,可以省略;D. 設(shè)置為主鍵的列,可以省略12、下列條目中,哪個(gè)不屬于ALTER TABLE的功能 ( D )A增加表的完整性約束 B修改表中列的定義C增加表中的列 D修改表中的記錄13、創(chuàng)建如下存儲(chǔ)過程:CREATE PROCEDURE my_proc_deffirst int = NULL, second int = 2, third int = 3 ASSELECT first, second, thirdGO以下調(diào)用存儲(chǔ)過程得到的結(jié)果錯(cuò)誤的是 ( D )。A、EXECUTE my_proc_def 結(jié)果值:NULL 2 3B、EXECUTE my_proc_def 10,
9、 20, 30 結(jié)果值:10 20 30C、EXECUTE my_proc_def second = 500結(jié)果值:NULL 500 3D、EXECUTE my_proc_def 40, third = 50結(jié)果值:40 500 5014、在Transact-SQL語法中,SELECT語句的完整語法較復(fù)雜,但至少包括的部分(_D_)。A、SELECT,INTOB、SELECT,F(xiàn)ROMC、SELECT,GROUPD、僅SELECT15、在Transact-SQL語法中,使用關(guān)鍵字(_A_)可以把重復(fù)行屏蔽。A、DISTINCTB、UNIONC、ALLD、TOP16、在Transact-SQL語
10、法中,將多個(gè)查詢結(jié)果返回一個(gè)結(jié)果集合的運(yùn)算符是(_B_)。A、JOINB、UNIONC、INTOC、LIKE17、在Transact-SQL語法中,可以對(duì)查詢結(jié)果進(jìn)行排序的子句是(_C_)。 A、GROUP BYB、COMPUTE BYC、ORDER BYD、COMPUTE18、在創(chuàng)建視圖時(shí),可以用來將包含創(chuàng)建此視圖的文本加密的選項(xiàng)是(_B_)A、WITH SCHEMABINDING B、WITH ENCRYPTIONC、WITH CHECK OPTIOND、WITH VIEW_METADATA19、一個(gè)數(shù)據(jù)庫可以有幾個(gè)主文件。(_C_)A、可以0個(gè)B、至少一個(gè)C、有且僅有一個(gè)D、可以0個(gè),也
11、可以多個(gè)20、在聚合函數(shù)中,即使每行都包含空值,仍會(huì)計(jì)算所有行的函數(shù)是(_C_)。A、SUMB、MAXC、COUNT(*)D、COUNT21、在數(shù)據(jù)庫中創(chuàng)建表可以通過(_D_)等方法來實(shí)現(xiàn)。 A、企業(yè)管理器B、查詢分析器C、OSQL D、企業(yè)管理器和CREATE TABLE語句22、左外聯(lián)接中TABLE1 LEFT OUTER JOIN TABLE2 ON JOIN_CONDITION如果現(xiàn)在TABLE2中沒有相應(yīng)的行,則返回( D )。A、沒有返回 B、兩個(gè)表所有行C、TABLE2中所有行 D、TABLE1中所有行23、LIKEA-C%匹配的內(nèi)容是什么( B )A匹配以A或C開頭的字符串B匹
12、配以A到C當(dāng)中任何一個(gè)字母開頭的字符串C匹配以A或C開頭的字符串,且字符串僅包含了兩個(gè)字符D匹配以A到C當(dāng)中任何一個(gè)字母開頭的字符串,且字符串僅包含了兩個(gè)字符24、關(guān)于默認(rèn)值和規(guī)則,下列描述不正確的是( C ) A. 列的默認(rèn)值必須符合綁定到此列上的任何規(guī)則和CHECK 約束 B. 不能為已有默認(rèn)綁定的列創(chuàng)建DEFAULT 約束 C. 創(chuàng)建的規(guī)則可檢查出先前已經(jīng)存在于數(shù)據(jù)庫中的不符合規(guī)則的數(shù)據(jù) D. 一個(gè)列或者用戶定義數(shù)據(jù)類型只能被一個(gè)規(guī)則綁定25、下面哪些語句屬于數(shù)據(jù)定義語言(DDL)是( D )。ASELECT BINSERT CUPDATE DDROP26、>ALL (1, 2,
13、3) 表示 3,>ANY (1, 2, 3) 表示 1( A )。A、大于,大于B、大于,小于C、小于,小于D、小于,大于27、以下哪些不是SQL Server的系統(tǒng)數(shù)據(jù)庫(D)。A、masterB、modelC、tempdbD、Northwind28、已知,SQL Server中的觸發(fā)器使用兩種特殊的表:deleted 表和 inserted 表。那么下面的描述中那一個(gè)說法是錯(cuò)誤的( D )。A、在執(zhí)行 DELETE 語句時(shí),行從觸發(fā)器表中刪除,并傳輸?shù)?deleted 表中。B、在執(zhí)行 INSERT 語句時(shí),新建行被同時(shí)添加到 inserted 表和觸發(fā)器表中。C、在執(zhí)行 UPDAT
14、E 語句時(shí),首先舊行被復(fù)制到 deleted 表中,然后新行被復(fù)制到觸發(fā)器表和 inserted 表中。D、雖然Microsoft® SQL Server 2005 自動(dòng)創(chuàng)建和管理deleted 表和 inserted 表,但是還是允許我們直接對(duì)表中的數(shù)據(jù)進(jìn)行更改。29、定單表Orders的列OrderID的類型是小整型(smallint),根據(jù)業(yè)務(wù)的發(fā)展需要改為整型(integer),應(yīng)該使用下面的哪條語句(C)。A、ALTER COLUMN OrderID integer FROM Orders B、ALTER TABLE Orders ( OrderID integer )C、
15、ALTER TABLE Orders ALTER COLUMN OrderID integerD、ALTER COLUMN Orders.OrderID integer30、執(zhí)行下面腳本,共有多少條記錄插入到表tblTemp中( D )。CREATE TABLE tblTemp( TempID integer not null,TempDate datetime not null)goDECLARE count integerSET count = 1WHILE count <=10 BEGINIF (SELECT COUNT(*) FROM tblTemp ) >= 10BREA
16、KELSE BeginINSERT tblTemp VALUES(count,GETDATE()SET count = count + 1endENDA、0 B、8 C、9 D、10二、判斷題1、insert into tableA select * from where address=福建省福州市,要正確運(yùn)行如上語句,tableA可以不存在,在查詢的過程中生成。( F )2、在 Transact-SQL 語句中,使用通配符“”只能描述單個(gè)字符。( F )3、在 Transact-SQL 語句的WHERE子句中,可以用IN 搜索條件來代替由 OR 操作符連起來的一系列比較操作符。( T )4
17、、對(duì)包含空值的字段使用聚合函數(shù)時(shí),SQL Server 的聚合函數(shù)都將忽略字段中的空值( F )5、在 Transact-SQL 語句中,使用通配符“”只能描述單個(gè)字符。( T )6、select A, B, C,count(*) from tableA group by A, B 以上語句不存在語法錯(cuò)誤( F )7、以下定義變量及賦值語句是正確的( F )declare i int,j intset i=2,j=28、在選擇列表中,使用符號(hào)“ * ”代表選擇表中所有的字段。( T )9、觸發(fā)器可以引用其他表中的列,能強(qiáng)制比 CHECK 約束更復(fù)雜的數(shù)據(jù)完整性。( T )10、觸發(fā)器是通過事件
18、觸發(fā)而由系統(tǒng)自動(dòng)執(zhí)行的。( T )11、列約束被指定為列定義的一部分,并且只應(yīng)用到那一列。( T )12、如果要在多列上創(chuàng)建相同的默認(rèn)值,可以先定義默認(rèn)值再采用綁定的方法。 ( T )13、一個(gè)數(shù)據(jù)庫可以有多個(gè)主文件。( F )14、UNIQUE 約束指明任意兩行不能有相同的值。( F )17、在游標(biāo)中,要讀取游標(biāo)當(dāng)前的值,用select語句。(F)16、對(duì)一個(gè)表插入數(shù)據(jù),一次只能插一條記錄到表中。(F)17、禁用觸發(fā)器后,若再想再次使用,必須重新創(chuàng)建。(F)三、填空題1、系統(tǒng)存儲(chǔ)過程是存儲(chǔ)在 master 數(shù)據(jù)庫內(nèi),以 SP_ 為前綴標(biāo)識(shí)的。2、可以定義一列或多列的值與同表或其他表中主鍵的值
19、匹配的約束類型是 外鍵約束。3、Transact-SQL 語句的種類分為 DML 、 DDL 和 DCL 三種。4、某數(shù)據(jù)字段,其數(shù)據(jù)類型為decimail(7,4),若向某記錄的該列賦值56.342619,則該列實(shí)際存儲(chǔ)的是 56.3426 。5、 當(dāng)標(biāo)識(shí)符的第一個(gè)字符是符號(hào)時(shí),代表它有特殊用處。以 開頭的標(biāo)識(shí)符代表局部變量或參數(shù);以 開頭的標(biāo)識(shí)符代表全部變量或參數(shù);6、當(dāng)在定義了觸發(fā)器的表上執(zhí)行 UPDATE 語句的時(shí)候,原行(前像)被移到 deleted 表中,而更新的行(后像)則插入 inserted 表中。7、從表或視圖中檢索數(shù)據(jù)可以使用關(guān)鍵字 select ;將數(shù)據(jù)插入到表或視圖中
20、可使用關(guān)鍵字 insert ;更新表或視圖中的數(shù)據(jù)可使用關(guān)鍵字 update ;從表或視圖中刪除數(shù)據(jù)可使用關(guān)鍵字 delete 。8、在 Transact-SQL 語句中,用來創(chuàng)建對(duì)象的關(guān)鍵字是 create 、用來更改對(duì)象的關(guān)鍵字是 alter 、用來刪除對(duì)象的關(guān)鍵字是 drop 。9、在Transact-SQL 語句中,可以使用 CREATE DATABASE 語句來創(chuàng)建數(shù)據(jù)庫,使用 CREATE TABLE 語句來創(chuàng)建表,使用 CREATE VIEW 語句來創(chuàng)建視圖,使用 CREATE PROC 語句來創(chuàng)建存儲(chǔ)過程.10、使用 Alter table 通過更改、添加或刪除列和約束,或者啟
21、用或禁用約束和觸發(fā)器,從而修改表的定義.11、編寫LIKE子句用來檢索以字符串 inger 結(jié)尾、以從 M 到 Z 的任何單個(gè)字母開頭的所有名稱:_ LIKE M-Zinger_12、在流程控制語句中_ beginend_語句用于包括一組T-SQL語句,使一組T-SQL語句作為一個(gè)單元進(jìn)行處理。13、索引按照組織方式分,可以分為 聚集索引 和 非聚集索引 兩種。四、程序題1、 請(qǐng)根據(jù)如下要求,使用Transact-SQL進(jìn)行填空創(chuàng)建一個(gè)名為Students的數(shù)據(jù)庫, 其中:主數(shù)據(jù)文件名為Students_Data1,初始大小10MB,最大大小不受限制,次要數(shù)據(jù)文件名為Students_Data
22、2,初始大小為5MB,最大不超過50MB;包含一個(gè)日志文件Students_Log,初始大小3MB,最大不能超過5MB,按5增長(zhǎng);所有文件均存放在C:SQLData文件夾下。CREATE database Students on primary(name='Students_Data1',='C:SQLDataStudents_Data1.mdf',size=10mb),(name='Students_Data2',='C:SQLDataStudents_Data2.ndf',size=5mb,maxsize=50mb)log o
23、n(name='Students_Log',='C:SQLDataStudents_Log.ldf',size=3mb,maxsize=5mb,=5%)2、某銀行數(shù)據(jù)庫,有如下表CardInfo:列名數(shù)據(jù)類型長(zhǎng)度是否空值說明CardIDchar19否卡號(hào)passchar6否密碼balancemoney否余額Statechar8否狀態(tài)openDatedatetime否開戶時(shí)間1) 創(chuàng)建默認(rèn)值對(duì)象default_State,默認(rèn)值取值為: 正常create default default_State as '正常'2) 并將此默認(rèn)值對(duì)象綁定到上表的S
24、tate字段中。create table CardInfo(CardID char(19) not null,pass char(6) not null,balance money not null,State char(8) not null,openDate datetime not null)exec sp_bindefault default_State,'CardInfo.State'分值分布情況:一、 填空題(2*10=20)二、 選擇題(2*15=30)四、程序填空題(2*10=20)五 、程序題(30)(四五題)范圍:1、 創(chuàng)建數(shù)據(jù)庫答:create datab
25、ase 數(shù)據(jù)庫名刪除數(shù)據(jù)庫drop database dbname2、 默認(rèn)對(duì)象的創(chuàng)建與綁定.use xsbookgocreate default jss_default as 0 -創(chuàng)建默認(rèn)值對(duì)象jss_default goexec sp_bindefault 'jss_default','xs.借書數(shù)' -將默認(rèn)值對(duì)象綁定到xs表的列借書數(shù)go3、 索引的添加 CREATE UNIQUECLUSTERED | NONCLUSTERED INDEX 名字 ON
26、60;table_name | view_name WITH index_property ,.n說明:UNIQUE: 建立唯一索引。CLUSTERED: 建立聚集索引。NONCLUSTERED: 建立非聚集索引。Index_property: 索引屬性。 UNIQUE索引既可以采用聚集索引結(jié)構(gòu),也可以采用非聚集索引的結(jié)構(gòu),如果不指明采用的索引結(jié)構(gòu),則SQL Server系統(tǒng)默認(rèn)為采用非聚集索引結(jié)構(gòu)。 例如: CREATE UNIQUE INDEX Courseid ON C
27、ourse(Cno); 4、 視圖的創(chuàng)建,往視圖添加,修改數(shù)據(jù)視圖創(chuàng)建:create view 視圖名asselect * from 表名視圖添加:INSERT INTO視圖名VALUES('數(shù)據(jù)','數(shù)據(jù)') 修改數(shù)據(jù):UPDATE 視圖名 SET 字段名 = 修改的數(shù)據(jù)5、 觸發(fā)器的創(chuàng)建,修改,刪除(如更新觸發(fā)器)創(chuàng)建:CREATE TRIGGER 觸發(fā)器名稱ON 表名FOR INSERT、UPDATE 或 DELETEAS T-SQL 語句注意:觸發(fā)器名稱是不加引號(hào)的。刪除:在查詢分析器中使用 dro
28、p trigger 觸發(fā)器名稱 來刪除觸發(fā)器。也可以同時(shí)刪除多個(gè)觸發(fā)器:drop trigger 觸發(fā)器名稱,觸發(fā)器名稱.重命名:exec sp_rename 原名稱, 新名稱修改:alter trigger trigger_name on table_name view_name for After Instead of insert, update,delete as sql_statement 例題:-1、在SC表上,建立后觸發(fā)的插入觸發(fā)器Check_Count1,規(guī)定每門課程的選課人數(shù)不能超過4人,若該課程選課人數(shù)未滿4
29、人,可以插入數(shù)據(jù)。(前提:一次插入一條記錄)create Trigger Check_Count1 On SCFor InsertASDeclare cno Char(10),StuCount intSelect cno=cno from InsertedSelect StuCount=Count(*) From SC Group by cno Having cno=cnoIf StuCount>4Begin RollBack Transaction -回滾事務(wù),即使沒有使用Begin Transaction 語句; Raiserror('該課程的選課人數(shù)超過,已經(jīng)滿額!'
30、;,16,1) -輸出自定義的錯(cuò)誤信息,Rollback后的語句仍然被執(zhí)行; EndGo-測(cè)試上面的觸發(fā)器;select Cno,count(sno) from SC group by Cnogoinsert into SC Values('2006010103','J004',null)-delete from SC where Sno='2006010104' and Cno='J001'godrop Trigger Check_Count1-2、在SC表上,建立替代觸發(fā)的插入觸發(fā)器Check_Count2,規(guī)定每門課程的選課
31、人數(shù)不能超過4人,若該課程選課人數(shù)未滿4人,可以插入數(shù)據(jù)。(前提:一次插入一條記錄)Create Trigger Check_Count2 On SCInstead of InsertASDeclare cno Char(10),StuCount intSelect cno=cno from InsertedSelect StuCount=Count(*) From SC Group by cno Having cno=cnoIf StuCount>=4 Raiserror('該課程的選課人數(shù)超過,已經(jīng)滿額!',16,1)Else Insert SC Select * F
32、rom Inserted Go-測(cè)試上面的觸發(fā)器;select Cno,count(sno) from SC group by Cnogoinsert into SC Values('2006010103','J004',null)insert into SC Values('2006010103','J002',NUll)delete from SC where Sno='2006010103' and Cno='J004'godrop Trigger Check_Count2-3、在SC表上,建
33、立一個(gè)Update后觸發(fā)器Check_CNO1,當(dāng)學(xué)生修改課程編號(hào)時(shí),給出提示信息,并不能修改該列。Create Trigger Check_CNO1 On SCAfter UpdateASIf Update(CNO) Begin Raiserror('課程號(hào)不能修改,請(qǐng)刪除選課后,重新選課!',16,1) RollBack TransactionEndGo-測(cè)試上面的觸發(fā)器;select * from SC order by Cnoupdate SC set Cno='J001' where Sno='2006010105' and Cno=&
34、#39;J004'go drop Trigger Check_CNO16、 存儲(chǔ)過程的創(chuàng)建,執(zhí)行,修改,刪除(如:有輸入?yún)?shù),返回值的存儲(chǔ)過程) 1、創(chuàng)建存儲(chǔ)過程Price_order查詢產(chǎn)品的名稱,價(jià)格,并按照價(jià)格進(jìn)行排序,并執(zhí)行。create proc Price_orderasselect pName , priceform productsorder by price asc/desc go2、創(chuàng)建存儲(chǔ)過程Most_expensiveProduct查詢最高價(jià)格的產(chǎn)品,并執(zhí)行。create proc Most_expensiveProductasselect top 1 with
35、 ties pName , priceform productsorder by price desc go3、創(chuàng)建存儲(chǔ)過程TotalPrice,計(jì)算所有產(chǎn)品總價(jià)格,并執(zhí)行。create procedure TotalPriceasselect sum(price) as 總價(jià)格 from products go 創(chuàng)建: 1 CREATE PROCEDURE Get_Data 2 ( 3 Dealer_ID VARCHAR(50) 4 ) 5 AS 6 SELECT * FROM myData WHERE Dealer_ID = Dealer_ID修改:1 ALTER PROCEDURE db
36、o.Get_Data 2 ( 3 Dealer_ID VARCHAR(50) 4 ) 5 AS 6 SELECT * FROM myData WHERE Dealer_ID = Dealer_ID刪除:drop procedure sp_name7、 函數(shù)的創(chuàng)建,修改,刪除(如:標(biāo)量函數(shù))創(chuàng)建:CREATE FUNCTION dbo.函數(shù)名(參數(shù))RETURNS NVARCHAR(15)ASBEGIN修改:alter function 名稱(參數(shù)名稱 參數(shù)類型=默認(rèn)值,n)returns 局部變量 tablewith encryptionasbegin函數(shù)體return 函數(shù)返回值end刪除:
37、drop function 函數(shù)名 一、創(chuàng)建標(biāo)量用戶定義函數(shù)1、在學(xué)生信息管理系統(tǒng)中,學(xué)生信息表包含列“學(xué)號(hào)”、列“姓名”;課程信息表包含列“課程代號(hào)”、“課程名稱”;學(xué)生成績(jī)表包含列“學(xué)號(hào)”、列“課程代號(hào)”、列“成績(jī)”,已用約束保證成績(jī)的范圍為0100分。編寫標(biāo)量函數(shù)fn_StudentScore,要求:輸入一個(gè)學(xué)號(hào)和一個(gè)課程號(hào),返回這個(gè)學(xué)生這門課的成績(jī),如果此學(xué)生沒有選這門課,返回-1。CREATE FUNCTION fn_StudentScore(stu_id char(8) ,course_id char(3)returns intas begindec
38、lare a int set a=(select score from scorewhere stu_id=stu_id and course_id=course_id)if a is nullbegin set a=-1endreturn aend2、測(cè)試函數(shù)fn_StudentScore(選兩個(gè)例子,一個(gè)顯示成績(jī),一個(gè)顯示-1)declare score intexec score = fn_StudentScore stu_id='0601009' ,course_id='009'select score as 成績(jī)declare score intexe
39、c score = fn_StudentScore stu_id='0601002' ,course_id='009'select score as成績(jī)3、在學(xué)生信息管理系統(tǒng)中,學(xué)生信息表包含列“學(xué)號(hào)”、列“姓名”;課程信息表包含列“課程代號(hào)”、“課程名稱”;學(xué)生成績(jī)表包含列“學(xué)號(hào)”、列“課程代號(hào)”、列“成績(jī)”,已用約束保證成績(jī)的范圍為0100分。編寫用戶定義函數(shù)fn_EvaluateOneStudent,要求:每次輸入一個(gè)學(xué)號(hào),計(jì)算該學(xué)生的所有課程的平均分,如果是85100分,返回“優(yōu)”;如果是7584分,返回“良”;如果是6574分,返回“中”;如果是064
40、分,返回“差”。 CREATE FUNCTION fn_EvaluateOneStudent (學(xué)號(hào) char(8)RETURNS varchar(10)ASBEGINDECLARE 平均分 integer, 等級(jí) varchar(10) SELECT 平均分=AVG(score)FROM score WHERE stu_id=學(xué)號(hào) IF 平均分 BETWEEN 85 AND 100 SET 等級(jí)='優(yōu)' ELSE IF 平均分 BETWEEN 75 AND 84 SET 等級(jí)='良' ELSE IF 平均分 BETWEEN 65 AND 74 SET 等級(jí)='中' ELSE IF 平均分 BETWEEN 0 AND 64 SET 等級(jí)='差' RETURN 等級(jí)END4、測(cè)試函數(shù)fn_EvaluateOneStudent例如:判斷學(xué)號(hào)為、的同學(xué)的等級(jí)。declare 等級(jí) varcha
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣州工程技術(shù)職業(yè)學(xué)院《西方文化導(dǎo)論及經(jīng)典文本選讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧中醫(yī)藥大學(xué)杏林學(xué)院《近代詩文研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南林業(yè)職業(yè)學(xué)院《市場(chǎng)營(yíng)銷導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 煙臺(tái)汽車工程職業(yè)學(xué)院《高級(jí)專門俄語》2023-2024學(xué)年第一學(xué)期期末試卷
- 林州建筑職業(yè)技術(shù)學(xué)院《納米材料及納米技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南陽農(nóng)業(yè)職業(yè)學(xué)院《預(yù)防醫(yī)學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢晴川學(xué)院《數(shù)學(xué)建模與MATLAB語言》2023-2024學(xué)年第一學(xué)期期末試卷
- 景德鎮(zhèn)陶瓷職業(yè)技術(shù)學(xué)院《動(dòng)畫表演》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽航空航天大學(xué)《和聲與曲式分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 印刷品合同協(xié)議書
- 粵教版2022年小學(xué)六年級(jí)科學(xué)下冊(cè)期中測(cè)試試卷及答案2022-2023
- 北師大六年級(jí)下冊(cè)數(shù)學(xué)第三單元《圖形的運(yùn)動(dòng)》教學(xué)設(shè)計(jì)
- 帶狀皰疹及后遺神經(jīng)痛科普課件
- 肺動(dòng)脈高壓的指南分類及精選課件
- 自考06216中外建筑史大綱知識(shí)點(diǎn)匯總
- C139營(yíng)銷模型簡(jiǎn)介(含案例)課件
- x-net運(yùn)動(dòng)總線手冊(cè)
- 橋梁加固改造工程施工質(zhì)量管理體系與措施
- 第二十六章慢性腎小球腎炎演示文稿
- 設(shè)施設(shè)備維修記錄表
- 自動(dòng)化設(shè)備檢修規(guī)程
評(píng)論
0/150
提交評(píng)論