欢迎来到天天文库
浏览记录
ID:39363770
大小:583.60 KB
页数:68页
时间:2019-07-01
《《SQL语言补充》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库设计与应用浙江工业大学软件学院T-SQL语言T-SQL其它语言元素注释变量运算符函数流程控制语句1.注释T-SQL提供两种类型的注释字符:一种是ANSI标准的注释符“--”,用于单行注释;另一种是与C语言相同的程序注释符号,即“/**/”,用于注释多行文字。注释是程序代码中不执行的文本字符串。2.变量1.变量变量名必须是一个合法的标识符。1)标识符(1)常规标识符不允许使用T-SQL的保留字,且不允许嵌入空格或其他特殊字符。(2)分隔标识符包含在双引号(“)或者方括号([])内的常规标识符或不符合常规标识符规则的标识符。若标识符中有空格,必须使用双引号或
2、方括号。(2)变量的分类Transact-SQL语言包括两种形式的变量:用户自己定义的局部变量;系统提供的全局变量。1.局部变量局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限在程序内部。局部变量必须先定义才能被引用。使用DECLARE命令定义局部变量,引用局部变量时必须在其名称前加上标志“@”。局部变量用于保存单个数据值,供控制流语句测试以及保存由存储过程返回的数据值等。例如,保存运算的中间结果,作为循环变量等。1)局部变量的定义在批处理或过程中用DECLARE语句声明局部变量。语法格式:DECLARE {@local_variabledata_
3、type} [,...n]2.局部变量的使用@local_variable指定局部变量的名称;datatype设置局部变量的数据类型及大小。局部变量可以为除text,ntext,image类型以外的任何数据类型。所有局部变量在声明后均初始化为NULL,可以使用SELECT或SET设定相应的值。2)局部变量赋值(SET或SELECT语句)将DECLARE语句创建的局部变量设置为给定表达式的值。SET语句语法格式:SET@local_variable=expression【例1】创建局部变量@var1、@var2,并赋值,然后输出变量的值。DECLARE@var
4、1,@var2char(20)SET@var1=’中国’/*一个SET语句只能给一个变量赋值*/SET@var2=@var1+’是一个伟大的国家’SELECT@var1,@var2/*输出变量的值*/Go【例3】使用查询给变量赋值。USEXSCJDECLARE@studentchar(8)SET@student=(SELECT姓名FROMXS)GO/*该语句若XS表中只有一条记录,可正常执行,否则将出错。*/【例2】创建一个名为sex的局部变量,并在SELECT语句中使用该局部变量查找表XS中所有女同学的学号、姓名。USEXSCJDECLARE@sexbitS
5、ET@sex=0SELECT学号,姓名FROMXSWHERE性别=@sexGOSELECT赋值语句的语法格式:SELECT{@local_variable=expression}[,…n]说明如下:1)SELECT语句通常用于将单个值返回到变量中,若有多个值时,将返回的最后一个值赋给变量;2)若无返回行,则变量将保留当前值;3)若expression不返回值,则变量设为NULL;4)一个SELECT语句可以初始化多个局部变量。SELECT语句也可用于局部变量的查看,格式如下:SELECT@local_variablePRINT@local_variable也可
6、用于局部变量的查看【例4】在XS表中不存在符合要求的结果,因此对该表的查询不返回结果,变量@var1将保留原值。USEXSCJDECLARE@var1nvarchar(30)SELECT@var1='刘丰'SELECT@var1=姓名/*将姓名列的值赋给变量*/FROMXSWHERE学号='64122312111'SELECT@var1AS'NAME‘/*@var1为‘刘丰’*/3)局部游标变量的定义与赋值(1)局部游标变量的定义语法格式:DECLARE{@cursor_variable_nameCURSOR}[,...n]CURSOR表示该变量为游标变量。(
7、2)游标变量的使用步骤定义游标变量给游标变量赋值打开游标利用游标读取行(记录)使用结束后关闭游标删除游标的引用。(3)局部游标变量的赋值:利用SET语句赋值语法格式:SET{@cursor_variable={@cursor_variable
8、/*将一个已存在的并且赋值的游标变量的值赋给另一局部游标变量*/cursor_name
9、/*将一个已申明的游标名赋给指定的局部游标变量*/{CURSOR子句}/*申明一个游标,同时将其赋给指定的局部游标变量*/}}【例5】使用游标变量USEXSCJDECLARE@CursorVarCURSOR/*定义游标变量*
10、/SET@CursorVar=CURS
此文档下载收益归作者所有