《数据库》课件第6章-表达式与流程控制_第1页
《数据库》课件第6章-表达式与流程控制_第2页
《数据库》课件第6章-表达式与流程控制_第3页
《数据库》课件第6章-表达式与流程控制_第4页
《数据库》课件第6章-表达式与流程控制_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章

表达式与流程控制2目标常量、变量及表达式流程控制语句及注释语句36.1常量常量也称为标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。1.字符串常量

字符串常量用单引号括起来。如果要在字符串中包含单引号,则可以使用连续的两个单引号来表示。例如:

'Chinese'2.datetime常量

datetime常量使用单引号括起来的特定格式的字符日期值表示。例如:

'2011-09-1614:30:24‘46.2变量变量是可以保存特定类型的单个数据值的对象,SQLServer的变量分为两种:用户自己定义的局部变量和系统提供的全局变量。局部变量的作用范围仅限制在程序的内部。常用来保存临时数据。局部变量的定义:DECLARE{@局部变量名数据类型}[,…n]注:局部变量名:必须以@开头,符合标识符的命名规则局部变量定义后初始值为NULL。56.2变量【例】定义变量@MyCounter为int类型:

DECLARE@MyCounterint66.2变量2.局部变量的赋值(1)用SET语句给局部变量赋值格式:

SET@局部变量名=表达式【例】定义局部变量@myvar,并为其赋值,最后显示@myvar的值。

DECLARE@myvarchar(20)

SET@myvar='Thisisatest'

--用SET赋值

PRINT@myvar--用PRINT语句显示76.2变量【例】

DECLARE@StuIDchar(10)DECLARE@StuNamevarchar(20)SET@StuID='A00001'

SELECT@StuName=StuNameFROMStudentWHEREStuID=@StuID

PRINT@StuName86.3表达式SQLServer运算符有以下几类:算术运算符字符串串联运算符赋值运算符比较运算符逻辑运算符位运算符一元运算符96.4流程控制语句流程控制语句用于控制Transact-SQL语句、语句块和存储过程的执行流程。这些语句可用于Transact-SQL语句、批处理和存储过程中。如果不使用流程控制语句,则各Transact-SQL语句按其出现的先后顺序执行。使用流程控制语句可以按需要控制语句的执行次序和执行分支。106.4.1BEGIN…END语句BEGIN…END语句用于将多个Transact-SQL语句定义成一个语句块。语句块可以在程序中视为一个单元处理。BEGIN…END语句的语法如下:

BEGIN{sql语句|语句块}END

其中,sql语句为一条Transact-SQL语句;语句块为用BEGIN和END定义的语句块。可以看出,在一个语句块中可以包含另一个语句块。116.4.2IF…ELSE语句IF…ELSE语句的语法如下:

IF布尔表达式

{sql语句1|语句块1}[ELSE{sql语句2|语句块2}]

布尔表达式:返回TRUE或FALSE的表达式;

sql语句:一条Transact-SQL语句;语句块:用BEGIN和END定义的语句组。功能:当布尔表达式的值为TRUE时,执行sql语句1或语句块1;当布尔表达式的值为FALSE时,执行sql语句2或语句块2。如果省略ELSE部分,则表示当布尔表达式的值为FALSE时不执行任何操作。126.4.2IF…ELSE语句【例】设有一个“学生信息”数据库,数据库中有一个“Student”表,该表包含StuID、StuName、StuBirthDate等列。要给本月出生的学生举办庆祝生日会,每月1日选出要过生日的学生名单。解决方案:DECLARE@TodayintSET@Today=DAY(GETDATE())IF(@Today=1)BEGINSELECTStuID,StuName

FROMStudent

WHEREMONTH(StuBirthDate)=MONTH(GETDATE())END136.4.4WHILE循环格式:WHILE布尔表达式{sql语句|语句块}功能:从WHILE语句开始,计算布尔表达式的值,当布尔表达式的值为TRUE时,执行循环体,然后返回WHILE语句,再计算布尔表达式的值,如果仍为TRUE,则再执行循环体,……,直到某次布尔表达式的值为FALSE时,则不执行循环体,而直接执行WHILE循环之后的其他语句。146.4.4WHILE循环【例】对1到100之间的数求和。DECLARE@iint,@sumintSET@i=1SET@sum=0WHILE@i<=100BEGINSET@sum=@sum+@iSET@i=@i+1ENDPRINT‘1到100之间数的和为’+Convert(char(10),@sum)156.5注释语句

注释用于对代码行或代码段进行说明,或暂时禁用某些代码行。注释语句不被编译器编译。注释是程序代码中不执行的文本字符串。使用注释对代码进行说明,可以使程序代码更易于理解和维护。注释通常用于说明代码的功能,描述复杂计算或解释编程方法,记录程序名称、作者姓名、主要代码更改的日期等。

向代码中添加注释时,需要用一定的字符进行标识。SQLServer支持两种类型的注释字符。166.5注释语句--

:这种注释字符可与要执行的代码处在同一行,也可另起一行。从双连字符开始到行尾均表示注释。对于多行注释,必须在每个注释行的开始使用双连字符。【例】使用双连字符给程序添加注释。--从Student表中选择所有的行和列SELECT*FROMStudentORDERBYStuIDASC--按StuID列的升序排序176.5注释语句(2)/*...*/:可与代码处在同一行,也可另起一行,甚至用在可执行代码内。从/*到*/之间的全部内容均为注释部分。对于多行注释,必须使用/*开始注释,使用*/结束注释。注释行上不应出现其它注释字符。【例】使用/*...*/给程序添加注释。/*从Student表中选择所有的行和列*/SEL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论