第6章 游标精选文档.ppt
《第6章 游标精选文档.ppt》由会员分享,可在线阅读,更多相关《第6章 游标精选文档.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6章章 游标游标本讲稿第一页,共八十二页第第6 6章章Transact-SQLTransact-SQL语言基础语言基础课程描述课程描述课程描述课程描述Transact-SQLTransact-SQLTransact-SQLTransact-SQL是是是是SQL ServerSQL ServerSQL ServerSQL Server的编程语言,是结构化查询的编程语言,是结构化查询的编程语言,是结构化查询的编程语言,是结构化查询语言(语言(语言(语言(SQLSQLSQLSQL)的增强版本,)的增强版本,)的增强版本,)的增强版本,SQLSQLSQLSQL是首先由是首先由是首先由是首先由IBM
2、IBMIBMIBM开发的数据开发的数据开发的数据开发的数据库语言。库语言。库语言。库语言。Transact-SQLTransact-SQLTransact-SQLTransact-SQL可用可用可用可用来从数据库中提取数据,执来从数据库中提取数据,执来从数据库中提取数据,执来从数据库中提取数据,执行行行行SQLSQLSQLSQL语言的数据定义语言的数据定义语言的数据定义语言的数据定义(DDLDDLDDLDDL)、数据操作()、数据操作()、数据操作()、数据操作(DMLDMLDMLDML)和数据控制(和数据控制(和数据控制(和数据控制(DCCDCCDCCDCC)等操作。)等操作。)等操作。)等
3、操作。本讲稿第二页,共八十二页本章知识点本章知识点pTransact-SQLTransact-SQL概述概述p常量和变量常量和变量p运算符运算符p常用函数常用函数p流程控制语句流程控制语句本讲稿第三页,共八十二页6.1Transact-SQL6.1Transact-SQL概述概述pTransact-SQLTransact-SQL的语法规则的语法规则pTransact-SQLTransact-SQL的语法元素的语法元素本讲稿第四页,共八十二页6.1.1Transact-SQL6.1.1Transact-SQL的语法规则的语法规则 规则描述大写Transact-SQL关键字斜体Transact-S
4、QL语法中用户提供的参数|(竖线)分隔括号或大括号内的语法项目。只能选择一个项目 (方括号)可选语法项目。不必键入方括号(大括号)必选语法项。不要键入大括号,.n 表示前面的项可重复 n 次。每一项由逗号分隔.n 表示前面的项可重复 n 次。每一项由空格分隔加粗数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必须按所显示的原样键入的文本:=语法块的名称。此规则用于对可在语句中的多个位置使用的过长语法或语法单元部分进行分组和标记本讲稿第五页,共八十二页数据库对象名的数据库对象名的Transact-SQL引用引用server_name.database_name.owner_nam
5、e.|database_name.owner_name.|owner_name.object_name具体说明如下:具体说明如下:pserver_name指定链接服务器名称或远程服务器名称。p当对象驻留在SQLServer数据库中时,database_name指定该SQLServer数据库的名称。当对象在链接服务器中时则指定OLEDB目录。p如果对象在SQLServer数据库中,owner_name指定拥有该对象的用户。当对象在链接服务器中时则指定OLEDB架构名称。pobject_name引用对象的名称。本讲稿第六页,共八十二页6.1.2Transact-SQL6.1.2Transact-S
6、QL的语法元素的语法元素1标识符标识符2数据类型数据类型3函数函数4表达式表达式5运算符运算符6注释注释7保留关键字保留关键字本讲稿第七页,共八十二页1标识符标识符p标识符是诸如表、视图、列、数据库和服务器等对象的名称。对象标识符是在定标识符是诸如表、视图、列、数据库和服务器等对象的名称。对象标识符是在定义对象时创建的,标识符随后用于引用该对象。义对象时创建的,标识符随后用于引用该对象。SQL ServerSQL Server的标识符有两类:常规的标识符有两类:常规标识符和分隔标识符。标识符和分隔标识符。SELECT*FROMTableXWHEREKeyCol=124SELECT*FROMTa
7、bleXWHEREKeyCol=124SELECT*FROMMyTableWHEREorder=10本讲稿第八页,共八十二页2数据类型数据类型p定义数据对象(如列、变量和参数)所包含的数据类型。定义数据对象(如列、变量和参数)所包含的数据类型。大多数大多数Transact-SQLTransact-SQL语句并不显式引用数据类型,但是其语句并不显式引用数据类型,但是其结果由于语句中所引用的对象数据类型间的互相作用而受结果由于语句中所引用的对象数据类型间的互相作用而受到影响。到影响。本讲稿第九页,共八十二页3函数函数p与其他程序设计语言中的函数相似,与其他程序设计语言中的函数相似,SQL SQL
8、ServerServer函数可以有零个、一个或多个参数,函数可以有零个、一个或多个参数,并返回一个标量值或表格形式的值的集合。并返回一个标量值或表格形式的值的集合。本讲稿第十页,共八十二页4 4表达式表达式p表达式是表达式是SQL ServerSQL Server可解析为单个值的语法可解析为单个值的语法单元。例如常量、返回单值的函数、列或变单元。例如常量、返回单值的函数、列或变量的引用。量的引用。本讲稿第十一页,共八十二页5 5运算符运算符p运算符中表达式的组成部分之一,它与一个或多个简运算符中表达式的组成部分之一,它与一个或多个简单表达式一起使用构造一个更为复杂的表达式。例如,单表达式一起使
9、用构造一个更为复杂的表达式。例如,将将-(负号)运算符和常量(负号)运算符和常量1212组合在一起得到常量组合在一起得到常量-1212。本讲稿第十二页,共八十二页6 6注释注释pSQL ServerSQL Server支持两种类型的注释字符:支持两种类型的注释字符:-(双连字符)和(双连字符)和/*.*/*.*/(正斜杠(正斜杠-星号对)。星号对)。-ChoosetheHrSystemdatabase.USEHrSystem/*Author:LeeDate:2009-2-16*/USEHrSystem本讲稿第十三页,共八十二页7 7保留关键字保留关键字p保留下来由保留下来由SQL Server
10、SQL Server使用的词。建议使用的词。建议数据库中的对象名不要使用这些字词。数据库中的对象名不要使用这些字词。如果必须使用保留关键字,则使用分隔如果必须使用保留关键字,则使用分隔标识符。标识符。本讲稿第十四页,共八十二页6.26.2常量和变量常量和变量(1 1)常量,也称为字面值或标量值,是表示一个特定数据值的符号。)常量,也称为字面值或标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。常量的格式取决于它所表示的值的数据类型。(2 2)变量对应内存中的一个存储空间。与常量不同,变量的值在程序)变量对应内存中的一个存储空间。与常量不同,变量的值在程序运行过程中可以
11、随时改变。运行过程中可以随时改变。本讲稿第十五页,共八十二页6.2.16.2.1常量常量1 1字符串常量字符串常量2 2UnicodeUnicode字符串常量字符串常量3 3二进制常量二进制常量4 4bitbit常量常量5 5datetime datetime 常量常量6 6integerinteger常量常量7 7decimaldecimal常量常量8 8floatfloat和和realreal常量常量9 9moneymoney常量常量1010uniqueidentifieruniqueidentifier常量常量1111指定负数和正数指定负数和正数本讲稿第十六页,共八十二页1字符串常量字符
12、串常量p字符串常量包含在单引号内,由字母数字字符(字符串常量包含在单引号内,由字母数字字符(a-za-z、A-Z A-Z 和和 0-0-9 9)以及特殊字符(例如)以及特殊字符(例如!、和和#)组成。例如)组成。例如Thisisadatabasep如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示嵌入的单引号。对于嵌入在双引号中的字符串则没有必要这样做。例如,嵌入的单引号。对于嵌入在双引号中的字符串则没有必要这样做。例如,字符串字符串Im TomIm Tom可以表示为可以表示为ImTomp空字符串用中间没有任何字符的两个
13、单引号表示。空字符串用中间没有任何字符的两个单引号表示。本讲稿第十七页,共八十二页2 2UnicodeUnicode字符串常量字符串常量pUnicodeUnicode字符串的格式与普通字符串相似,但它前面有一个字符串的格式与普通字符串相似,但它前面有一个N N标识符(标识符(N N代表代表SQL-92SQL-92标准中的国际语言(标准中的国际语言(National National LanguageLanguage)。)。N N 前缀必须是大写字母。例如,前缀必须是大写字母。例如,Herry Herry 是字是字符串常量而符串常量而 NHerry NHerry 则是则是UnicodeUnico
14、de常量。常量。pUnicodeUnicode常量被解释为常量被解释为UnicodeUnicode数据,并且不使用代码页进行计数据,并且不使用代码页进行计算。算。UnicodeUnicode数据中的每个字符都使用两个字节进行存储,而数据中的每个字符都使用两个字节进行存储,而字符数据中的每个字符则都使用一个字节进行存储。字符数据中的每个字符则都使用一个字节进行存储。本讲稿第十八页,共八十二页3 3二进制常量二进制常量p二进制常量具有前辍二进制常量具有前辍0 x0 x,并且是十六进制数字字符串。这些常量不使用引号。例,并且是十六进制数字字符串。这些常量不使用引号。例如:如:0 xFE0 x33Ef
15、0 x(空二进制常量)(空二进制常量)本讲稿第十九页,共八十二页4 4bitbit常量常量pbitbit常量使用数字常量使用数字 0 0 或或 1 1 表示,并且不使用表示,并且不使用引号。如果使用一个大于引号。如果使用一个大于 1 1 的数字,它将被的数字,它将被转换为转换为 1 1。本讲稿第二十页,共八十二页5 5datetimedatetime常量常量pdatetime datetime 常量使用特定格式的字符日期值表示,并被单引号括起常量使用特定格式的字符日期值表示,并被单引号括起来。例如:来。例如:April15,200615April,20062006041504/15/20061
16、4:30:2404:24PM本讲稿第二十一页,共八十二页6 6integerinteger常量常量pintegerinteger常量必须是整数,不能包含小数点。常量必须是整数,不能包含小数点。例如:例如:198723本讲稿第二十二页,共八十二页7 7decimaldecimal常量常量pdecimaldecimal常量由没有用引号括起来,并且包含小常量由没有用引号括起来,并且包含小数点的一串数字表示。例如:数点的一串数字表示。例如:94.520432.0本讲稿第二十三页,共八十二页8 8floatfloat和和realreal常量常量pfloatfloat和和realreal常量使用科学记数法
17、表示。例如:常量使用科学记数法表示。例如:321.5E5321.5E-50.6E20.7E-2本讲稿第二十四页,共八十二页9 9moneymoney常量常量pmoneymoney常量表示以可选货币符号作为前缀的一串数字。常量表示以可选货币符号作为前缀的一串数字。moneymoney常量可以包含小数点,但是不能使用引号。例常量可以包含小数点,但是不能使用引号。例如:如:$42$54333.64本讲稿第二十五页,共八十二页1010uniqueidentifieruniqueidentifier常量常量puniqueidentifieruniqueidentifier常量是表示全局唯一标识符常量是表
18、示全局唯一标识符(GUIDGUID)值的字符串。可以使用字符或二进制字符)值的字符串。可以使用字符或二进制字符串格式指定。例如:串格式指定。例如:F93AD5D-33DA-F011-AABD-000ADBDE0 xff99dadafe2345321本讲稿第二十六页,共八十二页1111指定负数和正数指定负数和正数p在数字前面添加在数字前面添加+或或-,指明一个数是正数还是负数。例如:,指明一个数是正数还是负数。例如:+343-343+334.34-334.34+334E-3-334E5-$344.56+$333.99本讲稿第二十七页,共八十二页6.2.2变量变量在在Transact-SQLTra
19、nsact-SQL中,包含两种类型的变量:中,包含两种类型的变量:p局部变量:局部变量是用户在程序中定义的变量,它仅在定义的程序范局部变量:局部变量是用户在程序中定义的变量,它仅在定义的程序范围内有效。局部变量可以用来保存从表中读取的数据,也可以作为临时围内有效。局部变量可以用来保存从表中读取的数据,也可以作为临时变量保存计算的中间结果。变量保存计算的中间结果。p全局变量:全局变量以全局变量:全局变量以开头,实际上是开头,实际上是SQL ServerSQL Server的系统函数。用户的系统函数。用户可以在程序中,使用全局变量测试系统特性和可以在程序中,使用全局变量测试系统特性和Transac
20、t-SQLTransact-SQL命令的执行命令的执行情况。情况。本讲稿第二十八页,共八十二页声明变量声明变量 变量只有在声明以后才能被使用。变量只有在声明以后才能被使用。Transact-SQLTransact-SQL语言使用语言使用DECLAREDECLARE语句来声明变量。第一次声明变量时将此变量的值设为语句来声明变量。第一次声明变量时将此变量的值设为NULLNULL。SQL SQL ServerServer支持支持2 2种对变量赋值的方法:种对变量赋值的方法:p使用使用SETSET语句。语句。p使用使用SELECTSELECT语句。语句。本讲稿第二十九页,共八十二页变量的声明和使用实例
21、变量的声明和使用实例DECLAREabcINTSETabc=2PRINTabcPRINTPRINT语句用于输出变量的值,返回结果为语句用于输出变量的值,返回结果为2 2。本讲稿第三十页,共八十二页6.36.3运算符运算符p算术运算符。算术运算符。p赋值运算符。赋值运算符。p位运算符。位运算符。p比较运算符。比较运算符。p逻辑运算符。逻辑运算符。p字符串串联运算符。字符串串联运算符。p一元运算符。一元运算符。本讲稿第三十一页,共八十二页6.3.16.3.1算术运算符算术运算符运算符描述+(加号)加法-(减号)减法*(乘号)乘法/(除号)除法%(模)返回一个除法的整数余数。例如,13%6=1本讲稿
22、第三十二页,共八十二页6.3.26.3.2赋值运算符赋值运算符pTransact-SQLTransact-SQL有一个赋值运算符(有一个赋值运算符(=)。它通常与)。它通常与SETSET语句一起使语句一起使用,为变量赋值。例如:用,为变量赋值。例如:DECLAREMyCounterINTSETMyCounter=1本讲稿第三十三页,共八十二页6.3.36.3.3位运算符位运算符运算符描述&按位进行与运算(两个操作数)|按位进行或运算(两个操作数)按位进行异或运算(两个操作数)位1位2&运算|运算 运算00000010111001111110本讲稿第三十四页,共八十二页6.3.4比较运算符比较运
23、算符运算符描述=等于大于=大于等于=小于等于不等于!=不等于!不大于本讲稿第三十五页,共八十二页6.3.5逻辑运算符逻辑运算符运算符描述ALL如果一系列的比较都为 TRUE,那么就为 TRUE。例如5ALL(3,2,1)的结果是TRUE;而5ALL(3,6,2)的结果是FALSE,因为5小于6AND如果两个布尔表达式都为 TRUE,那么就为 TRUEANY如果一系列的比较中任何一个为 TRUE,那么就为 TRUE。例如5 ANY(3,6,8)的结果是TRUE,因为3、6和8中有一个小于5的数BETWEEN如果操作数在某个范围之内,那么就为 TRUE。BETWEEN通常与AND一起使用。例如5
24、BETWEEN 3 AND 6的结果是TRUEEXISTS如果子查询包含一些行,那么就为 TRUEIN如果操作数等于表达式列表中的一个,那么就为 TRUE。例如5 IN(1,2,4)的结果是FALSE,因为5不没有出现在列表中LIKE如果操作数与一种模式相匹配,那么就为 TRUE。LIKE子句中会使用%和_等通配符。_表示一个字符,%表示一个字符串。例如_sql表示在sql前面有一个字符的字符串。对于表达式Varx LIKE _sql来说,当变量Varx符合_sql的模式,则返回TRUE,否则返回FALSENOT对任何其他布尔运算符的值取反OR如果两个布尔表达式中的一个为 TRUE,那么就为
25、TRUESOME如果在一系列比较中,有些为 TRUE,那么就为 TRUE。SOME与ANY的功能相同本讲稿第三十六页,共八十二页6.3.6字符串串联运算符字符串串联运算符p字符串串联运算符允许通过加号字符串串联运算符允许通过加号 (+)进行字符串串联,这个加号也被称为字符进行字符串串联,这个加号也被称为字符串串联运算符。其他所有的字符串操作都可以通过字符串函数进行处理。例如:串串联运算符。其他所有的字符串操作都可以通过字符串函数进行处理。例如:abc+defp的结果是的结果是abcdef本讲稿第三十七页,共八十二页6.3.7一元运算符一元运算符运算符描述+数值为正-数值为负返回数字的补数本讲稿
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 游标精选文档 游标 精选 文档
限制150内