《sql server 2005》 课件第六章T-SQL流程控制语句.ppt

《sql server 2005》 课件第六章T-SQL流程控制语句.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《sql server 2005》 课件第六章T-SQL流程控制语句

第六章 T-SQL 程序设计 6.1 全局变量和局部变量 一、全局变量 定义:是由SQL Server事先定义好的具有有特定作用(通常记录服务器的活动状态) 的变量,它不能由用户定义或赋值。 特点:全局变量由 @@ 开头,后跟特定保留字。 全局变量举例: 1、@@ERROR 作用:该全局变量将返回最后执行的T-SQL语句的错误代码,返回值的数据类型是整数.如果SQL语句执行成功则返回0,不成功,则返回相关错误信息对应的错误号。 6.1 全局变量和局部变量 一、全局变量 eg:使用@@ERROR变量检验SQL语句是否执行成功 select sno from stu where sname=周迅 if @@error = 0 print 你的SQL 语句执行成功 6.1 全局变量和局部变量 一、全局变量 2、@@rowcount使用 作用:返回受上面SQL语句影响的记录条数,返回的数据类型是整数型数据,如果不返会记录的SQL语句将返回0 eg: 在update 语句中使@@rowcout检测发生更改的记录数 Update stu set sex=‘男‘ where sno=001 Print ‘共有’ + RTRIM(@@rowcount)+‘改变了性别 6.1 全局变量和局部变量 二、局部变量 1、含义、作用及表示 由用户定义的、作用域限在一定范围(批处理、语句块、过程等)的、用于存放临时数据的变量。局部变量由 @ 开头,后跟变量名,如 @n1、@k、@sum等 2、声明局部变量(以下简称变量) 使用DECLARE声明,语法形式如下: DECLARE 变量名 数据类型[,… …] 例如: DWCLARE @a int ,@s flaot ,@d datetime 在一个声明语句中可同时声明多个不同类型的变量 6.1 全局变量和局部变量 二、局部变量 3、变量的赋值 使用SELECT 或SET语句,语法形式为: SELECT 变量名1=表达式/字段名 [from 子句][where 子句]……,变量名2=…… SET 变量名=表达式 declare @a int,@b char(10),@c char(3),@n float select @a=cj from xk select @b=VFP6.0, @n=123.456 set @c=1.2 select @a,@b,@c,@n 6.1 全局变量和局部变量 二、局部变量 说明: (1)定义字符型变量必须指定长度,否则不能正确赋值和显示。 (2)SET语句仅用于将表达式的值赋给变量,且一个语句只能给一个变量赋值。 (3)用SELECT语句给变量赋以从表中查询到的字段值时,若有多个查询值,则变量取最后一个值,且一个SELECT语句可给多个变量赋值。 6.2 程序流程控制 一、BEGIN…END语句块 作用:将多条T-SQL语句组合在一起,组成一个逻辑块,当控制流语句必须执行一个包含一条或两条以上的T-SQL语句的语句块时使用。 注意:相当与很多语言中的 {} 二、IF …ELSE语句 格式: IF (布尔表达式) {SQL语句块1} ELSE {SQL 语句块2} 6.2 程序流程控制 Eg1:如果stu表中有名叫张三的学生,请输出信息,否则提示用户没有这个学生。 IF exists(select sno from stu where sname=张三) BEGIN PRINT 下列学生的姓名是张三 select * from stu where sname=张三 END ELSE BEGIN PRINT 没有张三这个的学生 END 6.2 程序流程控制 三、WHILE语句 格式: WHILE 布尔表达式 BEGIN 命令程序块 END 作用:当WHILE后面的布尔表达式为真,会重复执行命令程序块,直到条件不成立时为止 6.2 程序流程控制 Eg2:判断xk表中是否有学生的成绩少于30,如果有,则将所有学生的成绩增加1,直到所有学生的成绩都多于30 WHILE EXISTS(SELECT * FROM xk where cj30) BEGIN UPDATE xk set cj=cj+1 END 6.3

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档