(SQL Server数据库系统基础)第8章SQLServer中的程序设计.ppt

(SQL Server数据库系统基础)第8章SQLServer中的程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RETURNS子句仅包含关键字TABLE,表示此函数返回一个表。内嵌表值函数的函数体仅有一个RETURN语句,并通过参数select-stmt指定的SELECT语句返回内嵌表值。语法格式中的其他参数项同标量函数的定义。 例如,为了显示学生的各科成绩,可以利用成绩表和学生表来创建视图(为简单起见用成绩表代替),然后在此基础上定义如下内嵌表值函数: CREATE FUNCTION s_score(@snum char(8))RETURNS table AS return ( SELECT * FROM 成绩表 WHERE 学号=@snum ) GO 2) 内嵌表值函数的调用 内嵌表值函数只能通过SELECT语句调用。内嵌表值函数调用时,可以仅使用函数名。在此,以前面定义的s_score()内嵌表值函数的调用作例子,通过输入学号调用内嵌函数来查询其成绩。 例如,调用s_score()函数,查询学号为学生的各科成绩。 调用代码为: select * from college.dbo.s_score 8.5 程序流程控制 流程控制语句是用来控制程序执行和流程分支的命令,这些命令包括条件控制语句、无条件转移语句和循环语句。使用这些命令可以使程序具有结构性和逻辑性,并可实现较复杂的功能。 8.5.1 BEGlN…END语句 在条件和循环通常等流程控制语句中,要执行两个或两个以上的Transact-SQL语句,就需要使用BEGIN…END语句,通常把这些Transact-SQL语句组织成一个语句块,作为一个整体来处理。 BEGIN…END语句的语法格式如下: BEGIN 语句1 语句2 END BEGIN…END语句通常用于下列情况: (1) ?WHILE循环需要包含语句块。 (2) ?CASE语句的元素需要包含语句块。 (3) ?IF或ELSE子句需要包含语句块。 注意:BEGIN和END语句必须成对使用,不能单独使用。BEGIN…END语句块可以嵌套。 【例8-16】使用BEGIN…END语句显示班级编号为“052001”的班级编号和班级名称。 运行结果如图8-6所示。代码如下: USE college GO IF EXISTS(SELECT * FROM 班级表 WHERE班级编号= 052001) BEGIN PRINTN 满足条件的班级: SELECT 班级编号,班级名称 FROM 班级表 WHERE 班级编号 = 052001 END GO 图8-6 在查询分析器中执行的结果 8.5.2 IF…ELSE语句 在程序中,经常需要根据特定条件指示SQL Server执行不同的操作和运算,也就是进行流程控制。SQL Server利用IF…ELSE命令使程序有不同的条件分支,从而完成各种不同条件环境下的操作。 IF…ELSE语句的语法格式如下: IF布尔表达式 语句1 [ELSE 语句2] 其中,布尔表达式表示一个测试条件,其取值为TRUE或FALSE。如果布尔表达式中包含一个SELECT语句,则必须使用圆括号把这个SELECT语句括起来。语句1和语句2可以是单个的Transact-SQL语句,也可以是用语句BEGIN…END定义的语句块。该语句的执行过程是:如果IF后面的布尔表达式返回TRUE,则执行语句1,否则执行语句2。若无ELSE,且测试条件

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档