补充 SQL Server 2008高级应用.ppt

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

北京林业大学 软件教研室 第7章 SQL Server 2008高级应用 7.1 Transact-SQL程序设计 7.2 存储过程 7.3 触发器 7.4 备份和还原 7.1 Transact-SQL程序设计 Transact-SQL语言就是在标准SQL的基础上进行扩充而推出的SQL Server专用的结构化SQL。 Transact-SQL语言最主要的用途是设计服务器端的能够在后台执行的程序块。 7.1.1 变量 全局变量 全局变量由系统定义和维护的,只能使用预先说明及定义的全局变量。 全局变量对用户而言是只读的,用户无法对它们进行修改或管理 。 局部变量 DECLARE @变量名 变量类型 [,@变量名 变量类型,…] SELECT @局部变量=变量值 或 SET @局部变量=变量值 [例7-1] 声明一个长度为8个字符的变量id,并赋值。 DECLARE @id char(8) SELECT @id 【例7-2】 查询学号为“S7”的学生的学号与姓名,并存储到变量@sno和@sn中。 DECLA RE @sno varchar(10) DECLARE @sn varchar(10) SELECT @sno = SNo,@sn = SN FROM S WHERE SNo = S7 注释符 在T-SQL中可以使用两类注释符: (1)ANSI标准的注释符“- -”用于单行注释; (2)与C语言相同的程序注释符,即“/*……*/”,“/*”用于注释文字的开头,“*/”用于注释文字的结尾,可在程序中标识多行文字为注释。 7.1.2 运算符 算术运算符 算术运算符对两个表达式执行数学运算,参与运算的表达式必须是数值数据类型或能够进行算术运算的其他数据类型。 赋值运算符 等号 (=) 是唯一的 Transact-SQL 赋值运算符。在以下示例中,将创建一个 @MyCounter 变量,然后赋值运算符将 @MyCounter 的值赋为1。 DECLARE @MyCounter INT; SET @MyCounter = 1; 字符串串联运算符 加号 (+) 是字符串串联运算符,可以用它将字符串串联起来。其他所有字符串操作都使用字符串函数进行处理。 例如good + + morning的结果是good morning。 比较运算符 比较运算符用来比较两个表达式值之间的大小关系,可以用于除了text、ntext和image 数据类型之外的所有数据类型。运算的结果为True或False,通常用来构造条件表达式。 逻辑运算符 逻辑运算符用来对多个条件进行运算,运算的结果为True或False,通常用来表示复杂的条件表达式。 按位运算符 按位运算符对两个二进制数据或整数数据进行位操作,但是两个操作数不能同时为二进制数据,必须有一个为整数数据。 一元运算符 一元运算符只对一个表达式进行运算 运算符优先级和结合性 SQL Server 2008中运算符的优先级顺序如下 ● ~(按位取反) ● *(乘)、/(除)、%(取余) ● +(正)、-(负)、+(加)、+(字符串串联)、-(减)、(按位与)、^(按位异或)、|(按位或) ● =、、、= 、= 、 、!=、!、!(比较运算符) ● Not ● And ● All、Any、Between、In、Like、Or、Some ● =(赋值) 7.1.3 批处理 批处理是包含一个或多个T-SQL语句的组,批处理的所有语句被整合成一个执行计划。 批处理是使用GO语句将多条SQL语句进行分隔,其中每两个GO之间的SQL语句就是一个批处理单元。 如果在编译过程中出现语法错误,那么批处理中所有的语句均无法正常执行。 【例7-3】 执行批处理程序,依次查询学生选课表SC、学生总数。 GO SELECT * FROM SC SELECT COUNT(*) FROM S GO 7.1.4 流程控制命令 【例7-4】 从SC数据表中求出学号为S7同学的平均成绩,如果此平均成绩大于或等于60分,则输出“Pass!”信息。 IF (SELECT AVG(Score) FROM SC WHERE SNo=S7)=60 BEGIN PRINT Pass! END 【例7-5】 从S数据表中读取学号为S1同学的数据记录,如果存在,则输出“存在学号为S1的学生”,否则输出“不存在学号为S1的学生”。 USE Teach /*

文档评论(0)

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

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

1亿VIP精品文档

相关文档