网站大量收购独家精品文档,联系QQ:2885784924

3.7嵌入式SQL课件.ppt

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

Transact-SQL程序设计 SQL虽然和高级语言不同,但是它本身也具有运算、流控制等功能,也可以利用SQL语言进行编程。因此,需要了解SQL语言程序设计的基础知识。 1 变量 2 流程控制命令 3 其它命令  变量 Transact-SQL中可以使用两种变量:局部变量和全局变量。 1.局部变量 局部变量是用户可自定义的变量,它的作用范围仅在程序内部。 在程序中通常用来储存从表中查询到的数据,或当作程序执行过程中暂存变量使用。 局部变量必须以@开头,而且必须先用DECLARE 命令说明后才可使用。其说明形式如下: DECLARE @变量名 变量类型[,@变量名变量类型…] 在Transact-SQL中不能像在一般的程序语言中一样使用“变量=变量值”来给变量赋值,必须使用SELECT或SET命令来设定变量的值。其语法如下: SELECT @局部变量= 变量值 SET @局部变量= 变量值 【例】声明一个长度为 8 个字符的变量id,并赋值。 declare @id char(8) select @id = 2.全局变量 全局变量是SQL Server 系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用。 全局变量通常存储一些SQL Server 的配置设定值和效能统计数据。用户可在程序中用全局变量来测试系统的设定值或Transact-SQL命令执行后的状态值。 全局变量不是由用户的程序定义的,它们是在服务器级定义的,只能使用预先说明及定义的全局变量。 引用全局变量时必须以“@@”开头。 局部变量的名称不能与全局变量的名称相同,否则会在应用中出错。 3.注释符 在Transact-SQL 中可使用两类注释符: ANSI 标准的注释符“--”用于单行注释。 与C 语言相同的程序注释符号,即“/*……*/”,/* 用于注释文字的开头,*/用于注释文字的结尾,可在程序中标识多行文字为注释。  流程控制命令 Transact-SQL 语言使用的流程控制命令与常见的程序设计语言类似,主要有以下几种控制命令: BEGIN…END 其语法如下: BEGIN 命令行或程序块 END BEGIN…END 用来设定一个程序块,将在BEGIN…END 内的所有程序视为一个单元执行。 BEGIN…END 经常在条件语句(如IF…ELSE)中使用。 在BEGIN…END 中可嵌套另外的BEGIN…END 来定义另一程序块。 IF … ELSE 其语法如下: IF 条件表达式 命令行或程序块 [ELSE [条件表达式] 命令行或程序块] 其中: 条件表达式可以是各种表达式的组合,但表达式的值必须是逻辑值“真”或“假”。 ELSE子句是可选的,最简单的IF语句没有ELSE子句部分。 IF…ELSE 用来判断当某一条件成立时执行某段程序,条件不成立时执行另一段程序。 如果不使用程序块,IF或ELSE只能执行一条命令。 IF ELSE 可以进行嵌套,在Transact-SQL中最多可嵌套32 级。 【例】从SC数据表中求出学号为S1同学的平均成绩,如果此平均成绩大于或等于60分,则输出“pass”信息。 if (select avg(score) from sc where sno=S1 group by sno)=60 begin print pass end CASE CASE 命令有两种语句格式: 格式1: CASE 运算式 WHEN 运算式 THEN 运算式 … WHEN 运算式 THEN 运算式 [ELSE 运算式] END 该语句的执行过程是: 将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较, 如果二者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。 ELSE子句是可选项。当CASE语句中不包含ELSE子句时,如果所有比较失败时,CASE语句将返回NULL。 【例】从学生表S中,选取SNO,SEX,如果SEX为“男”则输出“M”,如果为“女”输出“F”。 SELECT SNO, SEX= CASE sex WHEN 男 THEN M WHEN 女 THEN F END FROM S 格式2: CASE WHEN 条件表达式 THEN 运算式 … WHEN 条件表达式 THEN 运算式 [ELSE 运算式] END 该语句的执行过程是: 首先测试WHEN后的表达式的值 如果其值为真,则返回THEN后面的表达式的值,否则测试下一个WHEN子句中的表达式的值 如果所有WHEN子句后的表达式的值

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档