damoshayu.cn,yy6080新视觉影院,精品国产污污免费网站入口,国产精品一区二区久久精品无码

sql server2008下載

前沿拓展:


T-SQL編程基礎(chǔ)【例10-1】下面的Declare語句聲明一個(gè)datetime類型的變量,名稱為@rq。

/*函數(shù)說明:標(biāo)量值凹函數(shù)示例

功能:求學(xué)生不及格課程數(shù)

輸入?yún)?shù):@sno學(xué)號(hào)

返回結(jié)果:不及格課程數(shù)

*/

Create function Num_Unpassed(

@sno varchar(12))

Returns **allint

As

Begin

Declare @num **allint /*聲明返回值變量*/

Select @num=count(*)

From stu_grade

Where stu_id=@sno and grade <60 /*根據(jù)學(xué)號(hào)查詢該生不及格課程數(shù)*/

Return @num/*返回返回值變量*/

End

sql server2008下載

例10-11

定義函數(shù)Course_Unpassed 求某個(gè)學(xué)生不及格的課程名及成績,輸入?yún)?shù)為學(xué)生學(xué)號(hào),返回由不及格課程和成績組成的表

/*定義函數(shù)*/

/*

函數(shù)說明:內(nèi)聯(lián)值函數(shù)示例

功 能:求某個(gè)學(xué)生不及格課程和成績

輸入?yún)?shù):@sno學(xué)號(hào)

返回結(jié)果:不及格課程和成績表

*/

CREATE FUNCTION Course_Unpassed (@sno VARCHAR (12))

Returns Table

AS

RETURN

(SELECT course_name,grade FROM stu_grade,course_info

WHERE stu_grade.stu_id=@sno AND stu_grade.course_id=course_info.course_id AND grade <60)

sql server2008下載

10-11函數(shù)調(diào)用

SELECT * FROM course_unpassed('2007070103')

sql server2008下載

例10-12

定義多語句表值函數(shù)Course_Unpassed_1求某個(gè)學(xué)生不及格的課程名稱及成績,輸入?yún)?shù)為學(xué)生學(xué)號(hào),返回值由不及格課程和成績組成的表

/*函數(shù)說明:多語句表值函數(shù)示例

功 能:求某個(gè)學(xué)生不及格課程和成績

輸入?yún)?shù):@sno學(xué)號(hào)

返回結(jié)果:不及格課程和成績表*/

CREATE FUNCTION course_Unpassed_1(@sno VARCHAR(12))

RETURNs @t1 TABLE/*定義返回變量@t1,存放函數(shù)返回的表,下面是表的定義*/

(course_name VARCHAR(20),grade DECIMAL(4,1))

AS/*生成表*/

BEGIN

INSERT INTO @t1

SELECT course_name,grade

FROM stu_grade,course_info

WHERE stu_grade.stu_id=@sno AND stu_grade.course_id=course_info.course_id

AND grade<60

RETURN

END

sql server2008下載

刪除函數(shù)

sql server2008下載

sql server2008下載

例10-13

/*例10-13流程控制語句Bebin…END嵌套示例*/

BEGIN

IF@a>@b

BEGIN

SET @max=@a

PRINT '較大的值為:'

PRINT @max

END

ELSE

BEGIN

SET @max=@b

PRINT '較大的值為:'

PRINT @max

END

END

/*!??!注意:僅是示例,無法運(yùn)行的?。?!*/

例10-14

/*例10-14查詢學(xué)生2007070102的英語成績是否及格*/

DECLARE @grade DECIMAL(4,1)/*Delcare @grade **ALLINT是錯(cuò)誤的*/

SELECT @grade = grade

FROM stu_grade ,course_info

WHERE stu_grade.course_id=course_info.course_id

AND stu_id='2007070102'/*要查詢的學(xué)生學(xué)號(hào)*/

AND course_info.course_name='英語'

IF @grade<60

PRINT '不及格'

ELSE

PRINT '及格'

例10-15

/*例10-15 利用Exists查詢學(xué)生2007070102是否有不及格課程*/

IF EXISTS (SELECT*FROM stu_grade WHERE stu_id='2007070102'AND grade<60)

PRINT '有不及格課程'

ELSE

PRINT '無不及格課程'

sql server2008下載

例10-16

/*例10-16 根據(jù)學(xué)生的學(xué)制輸出學(xué)生的類別:本科、專科、專升本*/

SELECT stu_id,name,類別=CASE stu_xz

WHEN '2' THEN '專升本'

WHEN '3' THEN '???#039;

WHEN '4' THEN '本科'

END

FROM stu_info

例10-17

/*例10-17 根據(jù)學(xué)生的百分制成績,輸出成績對應(yīng)的5個(gè)類別:優(yōu)秀、良好、中等、及格和不及格。*/

SELECT stu_id,course_id,成績類別=CASE

WHEN grade >=90 THEN '優(yōu)秀'

WHEN grade >=80 AND grade <90 THEN '良好'

WHEN grade >=70 AND grade <80 THEN '中等'

WHEN grade >=60 AND grade <70 THEN '及格'

WHEN grade <60 THEN '不及格'

END

FROM stu_grade

sql server2008下載

例10-18

/*例10-18利用Goto語句實(shí)現(xiàn)從1到100的和*/

DECLARE @count INT,@sum INT

SET @count=1

SET @sum=0

Loop:

SET @sum=@sum+@count

SET @count =@count+1

IF @count<=100

GOTO Loop

SELECT @count ,@sum

sql server2008下載

sql server2008下載

例10-19

/*例10-19利用while語句實(shí)現(xiàn)從1到100的和*/

DECLARE @count INT,@sum INT

SET @count=1

SET @sum=0

WHILE @count<=100

BEGIN

SET @sum=@sum+@count

SET @count =@count+1

END

SELECT @count ,@sum

sql server2008下載

sql server2008下載

拓展知識(shí):

原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請注明出處:http://www.drmqd.com.cn/9248.html