欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Transact-SQL语言基础.ppt

    • 资源ID:5451084       资源大小:917KB        全文页数:87页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Transact-SQL语言基础.ppt

    Transact-SQL语言基础电气信息工程学院自动化教研室主讲教师:陈志武Email:CHENYYJ163.COM,第八讲,主要内容,数据类型,2,常量与变量,3,运算符与表达式,4,流程控制语句,5,T-SQL语言简介,1,主要内容,注释,6,函数,7,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL(Structured Query Language)语言,SQL语言的历史:70年代:由IBM公司开发出来的;1976年开始在商品化关系数据库系统中应用;1986:ANSI确认SQL为关系数据库语言的美国标准,1987年被ISO采纳为国际标准,称为SQL-86;1989:ANSI发布了SQL-89标准,后来被ISO采纳为国际标准;1992:ANSI/ISO发布了SQL-92标准,习惯称为SQL 2;1999年:ANSI/ISO发布了SQL-99标准,习惯称为SQL 3;2003:ANSI/ISO共同推出了SQL 2003标准。,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL(Structured Query Language)语言,Transact-SQL语言是Microsoft开发的一种SQL语言,简称T-SQL语言。它不仅包含了SQL-86和SQL-92的大多数功能,而且还对SQL进行了一系列的扩展,增加了许多新特性,增强了可编程性和灵活性。Transact-SQL语言主要包括:数据定义语句(Data Definition Language,DDL)如对数据库对象的创建(CREATE)、修改(ALTER)、删除语句(DROP)等,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL(Structured Query Language)语言,数据操纵语句(Data Manipulation Language,DML)用来查询(SELECT)、添加(INSERT)、修改(UPDATE)、删除(DELETE)、数据库中数据的语句 数据控制语句(Data Control Language,DCL)用来设置或更改 数据库用户或角色的语句。,一、历史,1、T-SQL语言简介,1、T-SQL语言起源于SQL(Structured Query Language)语言,一些附加的语言元素如变量、函数、流程控制语句等,这些不是SQL-92的标准内容,二、标识符,2、标识符的分类:(1)常规标识符(2)分隔标识符,1、标识符的定义:标识符用于标识服务器、数据库、数据库对象、变量等。,1、T-SQL语言简介,二、标识符,1、T-SQL语言简介,1.常规标识符 指符合标识符格式规则的标识符。标识符的格式规则如下:长度不超过128个字符。开头字母为a-z或A-Z、#、_ 或 以及来自其它语言的字母字符。后续字符可以是a-z、A-Z、来自其它语言的字母字符、数字、#、$、_、。不允许嵌入空格或其它特殊字符。不允许与保留字同名。,二、标识符,1、T-SQL语言简介,2.分隔标识符 对于不符合格式规则的标识符,当用于Transact-SQL语句时,必须用双引号或方括号括起来。例如:SELECT*FROM My Table等价于 SELECT*FROM My Table,二、标识符,1、T-SQL语言简介,对于常规标识符,可以加上双引号或方括号,也可以不加。【例如:SELECT*FROM authors该语句等价于 SELECT*FROM authors也等价于 SELECT*FROM authors,三、语句符号约定,1、T-SQL语言简介,三、语句符号约定,1、T-SQL语言简介,例如,SELECT子句的语法如下:SELECT ALL|DISTINCT TOP n PERCENT WITH TIES 其中,语法块进一步定义如下::=*|表名|视图名|表别名.*|列名|表达式|IDENTITYCOL|ROWGUIDCOL AS 列别名|列别名=表达式,.n,2、数据类型,使用SQL Server创建数据库中的表时,要对表中的每一列定义一种数据类型,数据类型决定了表中的某一列可以存放什么数据。除了定义表需要指定数据类型外,使用视图、存储过程、变量、函数等都需要用到数据类型。SQL Server提供了丰富的系统定义的数据类型,用户还可以在此基础上自己定义数据类型。,2、数据类型,1.bigint类型 存储大小:8个字节,取值范围:-263263-12.int类型 存储大小:4个字节,取值范围:-231231-13.smallint类型 存储大小:2个字节,取值范围:-215215-14.tinyint类型 存储大小:1个字节,取值范围:0255,一、整形数据类型,2、数据类型,二、定点数据数据类型,定点数据类型用于表示定点实数,包括numeric和decimal类型。Numeric等价于decimal。格式:decimal(p,s)numeric(p,s)说明:p:表示精度,指定小数点左边和右边十进制数字的最大位数,取值在1到38之间,缺省值为18;s:指定小数点右边十进数的最大位数,取值在0到p之间,缺省值为0。表示范围:-1038+11038-1,2、数据类型,二、定点数据,精度:decimal和numeric类型数据的存储字节数与精度p有关。具体如下表:,2、数据类型,三、浮点数据类型,表示范围:-1.79E+3081.79E+308,1.float类型格式:float(n)说明:n:尾数的位数,具体如下表:,2、数据类型,三、浮点数据,2.real类型 存储大小:4个字节 取值范围:-3.40E+383.40E+38 精度:7位 在SQL Server中,real的同义词为float(24)。,2、数据类型,四、字符型数据,分为Unicode字符数据类型和非Unicode字符数据类型.非Unicode字符数据类型:允许使用由特定字符集定义的字符。字符集在安装SQL Server时选择,不能更改。非Unicode字符数据类型:char、varchar和text。Unicode字符数据类型:可存储由Unicode标准定义的任何字符,包含由不同字符集定义的所有字符。需要相当于非Unicode数据类型两倍的存储空间。Unicode字符数据数据类型包括:nchar、nvarchar和ntext。对于存储来源于多种字符集的字符的列,可采用这些数据类型。,2、数据类型,四、字符型数据,1.char类型格式:char(n)功能:定义长度为n个字节的固定长度非Unicode字符数据,每个字符占一个字节。说明:n:18000 存储大小:n个字节(n个字符)2.varchar类型格式:varchar(n)功能:定义长度最多为n个字节的可变长度非Unicode字符数据,每个字符占一个字节。说明:n:18000。存储大小:输入字符的实际长度。长度可为零,2、数据类型,四、字符型数据,3.nchar类型格式:nchar(n)功能:定义包含n个字符的固定长度Unicode字符数据说明:n:14000 存储大小:2n个字节4.nvarchar类型格式:nvarchar(n)功能:定义包含最多n个字符的可变长度Unicode字符数据说明:n:14000。存储大小:所输入的字符实际个数的两倍。长度可以为零。,2、数据类型,四、字符型数据,5.text类型功能:用于存储大块的非Unicode字符,长度可变,字符最大长度 存储空间等于输入字符个数6.ntext类型功能:用于存储大块的Unicode字符,长度可变,字符最大长度 存储空间等于输入字符个数的两倍,2、数据类型,五、日期与时间数据类型,日期和时间数据类型用于存储日期和时间的结合体。包括datetime和smalldatetime两种类型。1.datetime类型 存储大小:8个字节 表示范围:1753年1月1日零时9999年12月31日23时59分59秒。例:01/01/98 23:59:59 2000-5-29 12:30:482.smalldatetime 存储大小:4个字节 表示范围:1900年1月1日2079年6月6日。例:2000/05/08 12:35 2000-05-29 12:35 2000-05-29,2、数据类型,六、图形(image)数据类型,image数据类型用于存储可变长度二进制数据,其长度界于0到231-1个字节之间。,2、数据类型,七、货币数据类型,货币数据类型包括money和smallmoney数据类型。货币数据存储的精确度为四位小数。1.money类型 存储大小:8个字节 表示范围:-922,337,203,685,477.5808+922,337,203,685,477.58072.smallmoney类型 存储大小:4个字节 表示范围:-214,748.3648214,748.3647,2、数据类型,八、位(bit)数据类型,bit数据类型的取值只有0和1,如果一个表中有不多于8个的bit列,这些列将作为一个字节存储。如果表中有9到16个bit列,这些列将作为两个字节存储。更多列的情况依此类推。,2、数据类型,九、二进制数据类型,二进制数据类型又可以分为binary和varbinary类型。,1.binary类型 格式:binary(n)功能:定义固定长度的n个字节二进制数据,当输入的二进制数据长度小于n时,余下部分填充0。说明:n:18000,2、数据类型,九、二进制数据类型,2.varbinary类型格式:varbinary(n)功能:定义n个字节可变长度二进制数据。说明:n:18000存储大小:为实际输入数据长度加4个字节,而不是n个字节。输入的数据长度可能为0字节。如果在数据定义或变量定义语句中使用时没有指定n,则默认长度n为1。如果在CAST函数中使用时没有指定n,则默认长度n为30。,2、数据类型,十、其他数据类型,1.timestamp类型(时间戳数据类型)存储大小:8个字节。时间戳类型的数据用于提供数据库范围内的惟一值,反映数据库中数据修改的相对顺序,相当于一个单调上升的计数器。当表中的某列定义为timestamp类型时,在对表中某行进行修改或添加行时,相应timestamp类型列的值会自动被更新。,2、数据类型,十、其他数据类型,2.uniqueidentifier类型 用于存储一个16字节长的二进制数据,它是SQL Server根据计算机网络适配器和CPU时钟产生的全局惟一标识符(Globally Unique Identifier,GUID),该数字可以通过调用SQL Server的NEWID函数获得。GUID是一个唯一的二进制数字,世界上的任何两台计算机都不会生成重复的GUID值。GUID主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。,2、数据类型,十、其他数据类型,3.sql_variant类型 用于存储除text、ntext、image、timestamp和sql_variant外的其它任何合法的数据。4.table类型 用于存储对表或者视图处理后的结果集。这种新的数据类型使得用变量就可以存储一个表,从而使函数或过程返回查询结果更加方便、快捷。5.cursor类型 cursor类型是变量或存储过程 的OUTPUT 参数的一种数据类型,这些参数包含对游标的引用。,2、数据类型,十一、用户自己定义的数据类型,3、常量与变量,一、常量,常量也称为标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。,1.普通字符串常量 字符串常量用单引号括起来。如果要在字符串中包含单引号,则可以使用连续的两个单引号来表示。例如:Chinese Process X is 50%complete.The level for job_id:%d should be between%d and%d.(空字符串)Iam a student,3、常量与变量,一、常量,2、Unicode 字符串常量对于Unicode字符串的格式,需要在前面加一个N标识符,N前缀必须是大写字母。例如:Michl是字符串常量 NMichl是Unicode常量 Unicode常量被解释为Unicode数据。Unicode 数据中的每个字符都使用两个字节进行存储,而普通字符数据中的每个字符则使用一个字节进行存储。,3、常量与变量,一、常量,3.二进制数常量 二进制常量使用0 x作为前辍,后面跟随十六进制数字字符串。例如:0 xAE 0 x12Ef 0 x69048AEFDD010E 0 x(空二进制常量),3、常量与变量,一、常量,4.bit常量 bit常量使用数字0或1表示。如果使用一个大于1的数字,它将被转换为1。5.datetime常量 datetime常量使用单引号括起来的特定格式的字符日期值表示。例如:April 15,1998 15 April,1998 980415 04/15/98 14:30:24 04:24 PM,3、常量与变量,一、常量,6.整型常量 由正、负号和数字09组成,正号可以省略。例如:1894 2+145345234-21474836487.decimal常量 由正、负号、小数点、数字09组成,正号可以省略。例如:1894.1204 2.0+145345234.2234-2147483648.10,3、常量与变量,一、常量,8.float和real常量 使用科学记数法表示。例如:101.5E5 0.5E-2+123E-3-12E59.money常量 以可选小数点和可选货币符号作为前缀的一串数字。可以带正、负号。例如:$12$542023.14-$45.56+$423456.99,3、常量与变量,二、变量,变量是可以保存特定类型的单个数据值的对象,SQL Server的变量分为两种:用户自己定义的局部变量和系统提供的全局变量。,1、局部变量 局部变量的作用范围仅限制在程序的内部。常用来保存临时数据。例如,可以使用局部变量保存表达式的计算结果,作为计数器保存循环执行的次数,或者用来保存由存储过程返回的数据值。,3、常量与变量,二、变量,1.局部变量的定义格式:DECLARE 局部变量名 数据类型,n说明:局部变量名:必须以开头,符合标识符的命名规则数据类型:系统定义的数据类型;用户定义数据类型。不能是text、ntext或image数据类型。局部变量定义后初始值为NULL。,3、常量与变量,二、变量,1.局部变量的定义,【例】定义变量MyCounter为int类型:DECLARE MyCounter int【例】定义变量LastName为nvarchar(30)类型,定义变量FirstName为nvarchar(20)类型,定义变量State为nchar(2)类型:DECLARE LastName nvarchar(30),FirstName nvarchar(20),State nchar(2),3、常量与变量,二、变量,2.局部变量的赋值(1)用SET语句给局部变量赋值 格式:SET 局部变量名=表达式【例4-6】定义局部变量myvar,并为其赋值,最后显示myvar的值。DECLARE myvar char(20)SET myvar=This is a test-用SET赋值 PRINT myvar-用PRINT语句显示,3、常量与变量,二、变量,(2)用SELECT语句给局部变量赋值:格式:SELECT 局部变量名=表达式,n【例4-7】定义局部变量myvar1和myvar2,并为它们赋值,最后显示myvar1和myvar2的值:DECLARE myvar1 char(20),myvar2 char(20)SELECT myvar1=Hello!,myvar2=How are you!-用SELECT赋值 SELECT myvar1,myvar2-用SELECT显示,3、常量与变量,二、变量,2、全局变量是SQL Server系统自带的变量,特点如下:全局变量不是由用户的程序定义的,它们是SQL Server系统在服务器级定义的,作用范围是一个服务器内都有效。全局变量通常用来存储一些配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。,3、常量与变量,二、变量,用户只能使用预先定义的全局变量,不能自己定义全局变量。全局变量,必须以标记符“”开头。局部变量的名称不能与全局变量的名称相同,否则会出现不可预测的结果。任何程序均可以随时引用全局变量。,例如:VERSION用于返回SQL Server当前安装的日期、版本和处理器类型;CONNECTIONS用于返回自上次启动SQL Server以来连接或试图连接的次数;LANGUAGE用于返回当前使用的语言名,4、运算符与表达式,一、运算符,SQL Server运算符有以下几类:算术运算符字符串串联运算符赋值运算符关系运算符逻辑运算符位运算符一元运算符,运算符:对常量或变量进行某种运算的符号;由运算符与变量常量构成的式子称为表达式,4、运算符与表达式,一、运算符,1、算术运算符:+、*、/、%(取模)%:用于返回一个整数除以另一个整数的余数。例如:12%5=2,4、运算符与表达式,一、运算符,2、字符串串联运算符:+作用:将两个字符串串联起来,构成字符串表达式。例如:abc+def 结果为 abcdef 123+456 结果为 123456,4、运算符与表达式,一、运算符,3、赋值运算符:=例如:DECLARE MyCounter int SET MyCounter=1,4、运算符与表达式,一、运算符,4、关系运算符:=!=!作用:比较两个表达式的大小。比较结果:布尔值TRUE、FALSE、UNKNOWN TRUE:表示表达式的结果为真 FALSE:表示表达式的结果为假 UNKNOWN:当SET ANSI_NULLS为ON时,带有一个或两个NULL表达式的比较运算返回UNKNOWN。当SET ANSI_NULLS为OFF时,上述规则同样适用,但当两个表达式都为NULL时,返回结果为TRUE。例如,NULL=NULL返回TRUE。,4、运算符与表达式,一、运算符,5、逻辑运算符:NOT AND OR作用:对具有布尔值的表达式进行运算。运算结果:TRUE、FALSE。NOT:一元运算符,对布尔表达式的值取反 AND:只有两个布尔表达式的值都为TRUE,运算结果才为TRUE,否则结果为FALSE。OR:如果两个布尔表达式中的一个为TRUE,那么运算结果为TRUE。只有两个布尔表达式都为FALSE,运算结果才为FALSE。,4、运算符与表达式,一、运算符,例:NOT(3 8)结果为TRUE(3 8)AND(5 8)Or(5 6)结果为TRUE,4、运算符与表达式,一、运算符,6、位运算符:&|作用:在两个整型表达式之间执行按位操作【例4-8】判断以下各打印语句的打印结果。(1)PRINT 2&3 10&11,结果为二进制10,即打印2。(2)PRINT 13|24 01101|11000,结果为二进制11101,即打印29。(3)PRINT 13 24 01101 11000,结果为二进制10101,结果为21。,4、运算符与表达式,一、运算符,7一元运算符:+-(按位逻辑非)作用:只对一个表达式执行操作,4、运算符与表达式,二、运算符的优先顺序,1.+(正)、(负)、(按位NOT逻辑非)2.*(乘)、/(除)、%(模)3.+(加)、(+串联)、(减)4.=,=,!=,!,!(关系运算符)5.(位异或)、&(位与)、|(位或)6.NOT7.AND8.ALL、ANY、BETWEEN、IN、LIKE、OR、SOME9.=(赋值),5、流程控制语句,流程控制语句用于控制Transact-SQL语句、语句块和存储过程的执行流程。如果不使用流程控制语句,则各Transact-SQL语句按其出现的先后顺序执行。使用流程控制语句可以按需要控制语句的顺序。,一、流程控制语句的作用,5、流程控制语句,一、BEGINEND语句,BEGINEND语句用于将多个Transact-SQL语句定义成一个语句块。语句块可以在程序中视为一个单元处理。BEGINEND语句的语法如下:BEGIN sql语句|语句块 END 其中,sql语句为一条Transact-SQL语句;语句块为用BEGIN和END定义的语句块。可以看出,在一个语句块中可以包含另一个语句块。,5、流程控制语句,二、IFELSE语句,IFELSE语句的语法如下: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时不执行任何操作。,5、流程控制语句,二、IFELSE语句,【例4-15】已知pubs数据库的图书信息表titles中,表示书价的列为price,表示图书种类的列为type,表示书名的列为title。编程序实现:如果mod_cook类图书的平均价格大于$15,就显示文本:Average title price is more than$15;否则给出提示“The following titles are excellent mod_cook books:”并列出相应的书名。,5、流程控制语句,二、IFELSE语句,代码如下:USE pubsIF(SELECT AVG(price)FROM titles WHERE type=mod_cook)$15 BEGIN PRINT The following titles are excellent mod_cook books:PRINT SELECT title FROM titles WHERE type=mod_cook ENDELSE PRINT Average title price is more than$15.,5、流程控制语句,三、CASE语句,1.简单CASE语句 CASE 输入表达式 WHEN when_表达式 THEN 结果表达式.n ELSE 结果表达式 END 功能:计算输入表达式的值,依次与每个WHEN子句中的when_表达式进行比较,直到发现第一个与输入表达式相等的表达式时,便返回该WHEN子句的THEN后面所指定的结果表达式。如果不存在与输入表达式相等的when_表达式,则当指定ELSE子句时将返回ELSE字句指定的结果表达式,若没有指定ELSE子句,则返回NULL值。,5、流程控制语句,三、CASE语句,【例4-16】将pubs数据库中的图书信息表(titles)中的各种图书类型(type列)显示为全称。USE pubsSELECT title,tpye=CASE type WHEN popular_comp THEN Popular Computing WHEN mod_cook THEN Modern Cooking WHEN business THEN Business WHEN psychology THEN Psychology WHEN trad_cook THEN Traditional Cooking ELSE Not yet categorized END,priceFROM titles,5、流程控制语句,三、CASE语句,2.CASE搜索语句 CASE WHEN 布尔表达式 THEN 结果表达式.n ELSE 结果表达式 END 功能:依次计算每个WHEN子句中的布尔表达式,返回第一个值为TRUE的布尔表达式之后对应的的结果表达式值。如果每一个WHEN子句之后的布尔表达式为都不为TRUE,则当指定ELSE子句时,返回ELSE子句中的结果表达式的值,若没有指定ELSE子句,则返回NULL值。,5、流程控制语句,三、CASE语句,【例4-17】对pubs数据库中的各种价位的图书给予不同的提示。USE pubsSELECT title,price,价格类别=CASE WHEN price IS NULL THEN Not yet priced WHEN price=10 and price 20 THEN Coffee Table Title ELSE Expensive book!ENDFROM titles,5、流程控制语句,四、WHILE语句,格式:WHILE 布尔表达式 sql语句|语句块,功能:从WHILE语句开始,计算布尔表达式的值,当布尔表达式的值为TRUE时,执行循环体,然后返回WHILE语句,再计算布尔表达式的值,如果仍为TRUE,则再执行循环体,直到某次布尔表达式的值为FALSE时,则不执行循环体,而直接执行WHILE循环之后的其他语句。,5、流程控制语句,四、WHILE语句,在循环体中可以包含语句:BREAK语句 执行BREAK语句将完全跳出循环,结束WHILE循环的执行。CONTINUE语句 执行CONTINUE语句将使循环跳过CONTINUE语句后面的语句,回到WHILE循环的第一条语句。,5、流程控制语句,四、WHILE语句,【例4-18】求1到100之间的数的和。DECLARE i smallint,sum smallintSET i=1SET sum=0WHILE i=100 BEGIN SET sum=sum+i SET i=i+1 ENDPRINT 1 到100之间的数的和为+str(sum),5、流程控制语句,三、WHILE语句,求1到100之间的奇数的和DECLARE i smallint,sum smallintSET i=0SET sum=0WHILE i=0 BEGIN SET i=i+1 IF i=100 IF(i%2)=0 CONTINUE ELSE SET sum=sum+i ELSE BEGIN PRINT 1 到100之间的奇数和为+str(sum)BREAK END END,5、流程控制语句,五、GOTO语句,格式:GOTO 标号 标号:功能:用于改变程序的执行流程,使程序直接跳到标有标号的位置处继续执行,而位于GOTO语句和标号之间的语句将不会被执行。说明:标号必须是一个合法的标识符。,5、流程控制语句,五、GOTO语句,【例4-19】利用GOTO语句求1+2+3+50。DECLARE sum int,count intSET sum=0SET count=1label_1:SET sum=sum+countSET count=count+1IF count=50GOTO label_1PRINT str(count)+str(sum),5、流程控制语句,六WAITFOR语句,格式:WAITFOR DELAY 时间|TIME 时间 功能:用于暂时停止SQL语句、语句块或者存储过程等的执行,直到所设定的时间已过或者所设定的时间已到才继续执行。说明:DELAY:使用该关键字表示其后的时间应为时间间隔,该时间间隔最长可达24小时.TIME:使用该关键字表示其后的时间用于指示要等待到的时间点,格式为:hh:mm:ss。,5、流程控制语句,六WAITFOR语句,【例4-20】在一分钟以后打印“HELLO”,代码如下:BEGIN WAITFOR DELAY 00:01:30 PRINT HELLOEND【例4-21】在晚上10:20时打印“HELLO”。BEGIN WAITFOR TIME 22:20 PRINT HELLOEND,5、流程控制语句,七 RETURN语句,格式:RETURN 整数表达式 功能:用于无条件地终止一个查询、存储过程或者批处理,当执行RETURN语句时,位于RETURN语句之后的程序将不会被执行。说明:RETURN:在存储过程中可以在RETURN后面使用一个具有整数值的表达式,用于向调用过程或应用程序返回整型值。,6、注释,一 注释的作用,注释用于对代码行或代码段进行说明,或暂时禁用某些代码行。注释是程序代码中不执行的文本字符串。使用注释对代码进行说明,可以使程序代码更易于理解和维护。注释通常用于说明代码的功能,描述复杂计算或解释编程方法,记录程序名称、作者姓名、主要代码更改的日期等。向代码中添加注释时,需要用一定的字符进行标识。SQL Server支持两种类型的注释字符。,6、注释,二 注释的方法,(1)-:这种注释字符可与要执行的代码处在同一行,也可另起一行。从双连字符开始到行尾均表示注释。对于多行注释,必须在每个注释行的开始使用双连字符。,【例4-22】使用双连字符给程序添加注释。-打开pubs数据库USE pubs-从titles表中选择所有的行和列-按title_id列的升序排序SELECT*FROM titlesORDER BY title_id ASC,6、注释,二 注释的方法,(2)/*.*/:可与代码处在同一行,也可另起一行,甚至用在可执行代码内。从/*到*/之间的全部内容均为注释部分。对于多行注释,必须使用/*开始注释,使用*/结束注释。注释行上不应出现其它注释字符。,【例4-23】使用/*.*/给程序添加注释。/*打开pubs数据库*/USE pubs/*从titles表中选择所有的行和列按title_id列的升序排序*/SELECT*FROM titlesORDER BY title_id ASC,7、函数,一、函数的定义,函数是一个Transact-SQL语句的集合,每个函数用于完成某种特定的功能,可以在其他的Transact-SQL语句中直接使用(调用)。SQL Server 2000支持两种类型的函数:(1)内置函数:SQL Server内部已经定义好的函数,用户只能按照内置函数定义好的方式进行使用,而不能对内置函数进行修改。(2)用户定义函数:用户使用CREATE FUNCTION语句自己创建的函数。,7、函数,二、函数的调用,调用函数的格式:函数名(参数表)说明:参数:零多个。当有多个参数时,各参数之间要用逗号隔开。圆括号不能省略,即使没有参数也是如此。调用位置:可在语句中,也可在表达式中。,7、函数,三、内置函数的分类,(1)行集函数:返回的结果是一个虚拟表对象,该对象可在Transact-SQL语句中用作表来引用。例如,使用OPENQUERY函数执行一个分布式查询,以便从服务器OracleSvr中提取表student中的记录。SELECT*FROM OPENQUERY(OracleSvr,SELECT name,id FROM student)(2)聚合函数:对一组值进行统计计算并返回一个单一的值。例如,设当前数据库拥有一个员工工资表employee,其中有一个工资列salary,要统计所有员工的工资总和:SELECT SUM(salary)FROM employee(3)标量函数:用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。,7、函数,四、常用聚合函数举例,聚合函数用于对数据库表中的一列或几列数据进行统计汇总,常用于查询语句中。,7、函数,四、常用聚合函数举例,【例4-13】设某学生数据库中有一个“学生成绩”表,该表包含的列有:学号、姓名、数学成绩、英语成绩。其中,数学成绩和英语成绩列为smallint类型,使用聚合函数实现以下各功能。(1)求所有学生的数学平均成绩和英语平均成绩。(2)统计数学成绩大于80分的学生人数。(3)统计学生总人数(4)求最高数学成绩,最低数学成绩(5)求所有学生的数学总成绩和英语总成绩。,7、函数,四、常用聚合函数举例,实现以上各功能的查询语句分别如下:(1)SELECT AVG(数学成绩),AVG(英语成绩)FROM 学生成绩(2)SELECT COUNT(数学成绩)FROM 学生成绩 WHERE 数学成绩80(3)SELECT COUNT(*)FROM 学生成绩(4)SELECT MAX(数学成绩),MIN(数学成绩)FROM 学生成绩(5)SELECT SUM(数学成绩),SUM(英语成绩)FROM 学生成绩,7、函数,五、常用标量函数举例,1、数学函数,2、字符串函数,3、日期和时间函数,4、转换函数,7、函数,六、常用转换函数举例,1、转换函数的作用,一般情况下,SQL Server会自动处理某些数据类型的转换。例如,如果比较smallint和int表达式、或不同长度的char表达式,SQL Server可以将它们自动转换成相同的类型,这种转换称为隐性转换。无法由SQL Server自动转换的或者是SQL Server自动转换的结果不符合预期结果的,就需要使用转换函数做显式转换。SQL Server的提供了两个转换函数:CAST和CONVERT。,7、函数,六、常用转换函数举例,2、常用转换函数,1.CAST函数 用于将某种数据类型的表达式显式转换为另一种数据类型。格式:CAST(表达式 AS 数据类型)2.CONVERT函数 用于将某种数据类型的表达式显式转换为另一种数据类型,在将日期时间类型的数据转换为字符类型的数据时,可以指定转换后的字符样式。格式:CONVERT(数据类型(长度),表达式,样式),本章完,

    注意事项

    本文(Transact-SQL语言基础.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开