预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共43页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

会计学使用(shǐyòng)变量局部变量全局变量SQLServer中的函数(hánshù)字符串函数(hánshù)日期(rìqī)函数数学(shùxué)函数系统(xìtǒng)函数案例(ànlì)分析1—要求案例(ànlì)分析1—分析案例(ànlì)分析2—要求案例(ànlì)分析2—分析用户(yònghù)自定义函数1.使用CREATEFUNCTION语句创建(chuàngjiàn)用户自定义函数 使用CREATEFUNCTION创建(chuàngjiàn)用户自定义函数,其语法格式如下: CREATEFUNCTION[owner_name.]function_name ([{@parameter_name[AS]scalar_parameter_data_type[=default]}[,...n]]) RETURNSscalar_return_data_type [AS] BEGIN function_body RETURNscalar_expression ENDfunction_name:指用户自定义函数的名称。其名称必须符合标识符的命名规则,并且对其所有者来说,该名称在数据库中必须唯一。 @parameter_name:用户自定义函数的参数,其可以是一个或多个。每个函数的参数仅用于该函数本身;相同的参数名称可以用在其它函数中。参数只能代替常量;而不能用于代替表名、列名或其它数据库对象的名称。函数执行时每个已声明参数的值必须由用户指定,除非该参数的默认值已经定义。如果(rúguǒ)函数的参数有默认值,在调用该函数时必须指定"default"关键字才能获得默认值。 scalar_parameter_data_type:参数的数据类型。 scalar_return_data_type:是用户定义函数的返回值。可以是SQLServer支持的任何标量数据类型(text、ntext、image和timestamp除外)。 function_body:位于begin和end之间的一系列Transact-SQL语句,其只用于标量函数和多语句表值函数。 scalar_expression:用户自定义函数中返回值的表达式。2.表值函数(hánshù)例:在stuDB库中创建一个内嵌表值函数XUESHENG,该函数可以根据输入(shūrù)的系部代码返回该系学生的基本信息。其代码如下: CREATEFUNCTIONXUESHENG(@inputdepnvarchar(4))RETURNStable AS RETURN (SELECT学号,姓名FROM学生WHERE所属院系=@inputdep) GO3.多语句(yǔjù)表值函数3.多语句(yǔjù)表值函数USEstuDB GO CREATEFUNCTIONchengji(@inputkmaschar(20)) /*为chengji函数定义的表结构(jiégòu),名称变量为@cj*/ RETURNS@cjiTABLE (科目编号varchar(10), 姓名varchar(10), 成绩int) AS BEGIN INSERT@cj/*该变量是上面定义的表名称变量*/ selectb.科目编号,a.学生姓名,(b.笔试成绩+b.上机成绩)/2 from学生信息表asainnerjoin成绩表asb ona.学号=b.学号whereb.科目编号=@inputkm RETURN END GO在查询编辑器中输入(shūrù)以下查询命令: SELECT*FROMdbo.chengji(‘9001’)查看、修改(xiūgǎi)和删除自定义函数查看(chákàn)、修改和删除自定义函数查看、修改(xiūgǎi)和删除自定义函数逻辑(luójí)控制语句IF-ELSE示例(shìlì)IF-ELSE示例(shìlì)设置(shèzhì)输出结果的格式逻辑(luójí)控制语句WHILE示例(shìlì)DECLARE@nint WHILE(1=1)--条件(tiáojiàn)永远成立 BEGIN SELECT@n=COUNT(*)FROM成绩表 WHEREwrittenExam<60--统计不及格人数 IF(@n>0) UPDATE成绩表--每人加2分 SETwrittenExam=writtenExam+2 ELSE BREAK--退出循环 END print'加分后的成绩如下:' SELECT*FROM成绩表逻辑(luójí)控制语句CASE-END示例(shìlì)print'ABCDE五级显示成绩(chéngjì)如下:' SELECT学号, 成绩(chéngjì)=CASE WHENwrittenExam<60THEN'E' WHENwrittenExamBETWEEN60AND