




免费预览已结束,剩余35页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章数据库的过程控制、T-SQL编程、学习目标、TranscaT-SQL语言的编程基础过程控制语句系统函数和用户定义的函数、游标的使用等内容、8.1任务的提交、SQL语句的过程控制问题的解决方法其内容通常具有常数和变量的使用、程序流的控制、函数的调用、光标的使用等几个方面。 邓老师说:“通过学习T-SQL语言的编程技术,也可以通过使用一系列的SQL语句来完成一系列完整而复杂的任务。 这简化了编程的复杂性,提高了程序代码的重用性,降低了程序的开发成本,提高了开发效率”,基于8.2T-SQL编程,transact-SQL(t-SQL ) 语言是sqlServer使用的数据库查询和编程语言,是结构化查询语言sql的扩展版本,添加了一些非标准的SQL语句并增强了功能。 您可以使用T-SQL语句创建、修改、查询和管理关系数据库,或者将T-SQL语句嵌入主机语言(如VB、VC和DELPHI ),但是T-SQL本身不提供用户界面、文件和I/0设备,也不提供编程创建并执行T-SQL语句时,将使用以下语句: (1)数据定义语言(DDL )语句:主要用于创建、修改和删除数据库和数据库对象,如CREATE、ALTER和DROP语句。 每个数据库对象的语法格式都不同。 例如,创建数据库是CREATEDATABASE语句,创建表是CREATETABLE语句。 (2)数据操作语言(DML )语句:用于查询和修改数据库中的数据,如SELECT语句、INSERT语句、UPDATE语句和DELETE语句。 (3)数据控制语言(DCL )语句:用于安全管理,更改数据库用户和角色的权限。 包括GRANT、REVOKE和DENY语句。 8.2.1变量,变量是用户可以定义和分配的实体。 变量有全局变量和局部变量两种。 全局变量由系统定义和维护。 变量名以两个符号开头,在使用时可以直接引用。 局部变量在DECLARE语句中声明,用户或进程在SET或SELECT语句中分配,只能在声明变量的进程中使用。 名字以符号开头。 局部变量的声明和赋值形式为declare local _ variable datatype , local _ variable datatype set local _ variable=表达式SELECTLocal_variable=表达式|SELECT子句,8.2.2 常数的格式取决于其值的数据类型。 常量包括字符常量、整数常量、实数常量、日期常量和货币常量。 请注意,单引号必须是半角,T-SQL语言只能识别半角字符。 这是初学者容易犯的错误。 8.2.3运算符和表达式,1 .算术运算符算术运算符的作用是对两个表达式执行数学运算。 算术运算符包括加法()、减法(-)、乘法(* )、除法(/)和模数(% )。 参与运算的两个表达式的数据类型通常必须是数字类型的数据,但也可以使用加法()和减法(-)运算符对datetime和smalldatetime数据类型的值执行数学运算。 2 .赋值运算符T-SQL具有一个名为等号(=)的赋值运算符。 这是为了将左侧变量设置为符号右侧的值。 3 .位运算符位运算符在两个表达式之间执行位运算。 这两个表达式适用的数据类型是与整数或整数兼容的数据类型(如字符类型),但不是image。 位运算符及其运算规则如表8-1所示。 表8-1位运算符及其运算规则,4 .比较运算符比较运算符也称为关系运算符,常用于测试两个表达式的值之间的关系,通常多于表达式。 比较运算符的计算结果为布尔类型,根据测试条件的输出结果返回逻辑值TRUE或FALSE。 在SQLServer中,可以在变量之间、列之间或相同类型的表达式之间进行比较。典型的比较运算符为相等(=)、大于()、小于(=)和小于()。 5 .一元运算符一元运算符只对数字数据类型分类中的数据类型表达式执行运算。 一元算子及其含义如表8-2所示。 运算符的含义(正)的数字为正。 - (负)数值为负。 返回数字的补码(以位NOT表示)。 6 .逻辑运算符逻辑运算符用于测试条件。 与比较运算符类似,逻辑运算符运算的结果也返回值为TRUE或FALSE的逻辑值。 逻辑运算符及其运算规则如表8-3所示。7 .字符串连接运算符字符串表达式的运算符()称为字符串连接运算符,可以将两个或多个字符或二进制字符串、列或字符串和列名的组合连接到一个表达式中,字符串的其他操作由字符串函数执行。 8 .运算符优先级(正)、- (负)、- (位NOT)* (乘法)、/(除法)、% (模式) (加法)、- (减法)=,=,=, 比较运算符 (位异或),| (位或) NOTANDALL、SOME、BETWEEN、IN、LIKE、OR=(代入),8.2.4批。 批处理是一个包含一条或多条T-SQL语句的集合,应用程序一次发送到SQLServer服务器进行解释和执行。 批处理是有效的,但是不能将CREATEDEFAULT、CREATEPROCEDURE、CREATERULE、CREATETRIGGER和CREATEVIEW语句与批处理中的其他语句结合使用。 批处理必须以CREATE语句开始。 此批处理后的所有其他语句都被解释为第一条CREATE语句定义的一部分。 将默认值和规则绑定到表字段或用户定义的数据类型后,不能立即在同一批中使用。 您无法在同一批次中变更表格栏位,并浏览新栏位。 定义CHECK约束条件后,不能立即在同一批中使用此约束条件。 用户定义的局部变量的范围仅限于一个批处理,在GO命令后无法引用该变量。 如果EXECUTE语句是批处理中的第一个语句,则可以省略EXECUTE关键字(可选为EXEC )。 如果EXECUTE语句不是批处理中的第一个语句,则需要EXECUTE关键字。 8.2.5注释语句,1 .行注释行注释和语法格式:-两个连字符只能注释一行。 如果有多行注释,则每个注释行的开头都使用两个连字符。 注释文字内容过多,这种方法显然很麻烦。 为了方便起见,考虑使用块注释。 2 .块注释块注释和语法格式:/*注释文本*/注释文本开头的“/*”和结尾的“*”符号之间的所有字符都是注释语句。 这使得包括多行注释更加容易。 8.2.6标识符、1 .标识符标识符也称为通用标识符,并且不能全部是下划线(_ )或# ),以字母(a-z或a-z )、下划线(_ )或#开头,后面的字符是ASCII字符、Unicode字符、符号(_、$、或# )。 以符号开头的标识符具有特殊用途: (l )以开头的标识符(2)以开头的标识符表示部分变量或参数;(3)以#开头的标识符表示临时表或存储过程;(4)以#开头的标识符表示全局临时对象,2 .分隔符分隔符是不符合标准标识符或标准标识符规则的标识符,用双引号( )或方括号( )括起来。 如果不符合标准标识符规则(如对象名称或对象名称的一部分使用保留关键字或标识符包含嵌入空格),则必须使用分隔符。 建议不提倡使用分隔符,并使用“名知义”原则命名标识符。根据需要用下划线或数字区分各个对象,使对象的名称更容易读懂,与预约关键字冲突的可能性也在某种程度上减少。 8.3过程控制语句、过程控制语句控制SQL语句、语句块或存储过程的执行过程,T-SQL支持过程控制语句。8.3.1BEGINEND文件、begin SQL _ statement|statement _ block end参数说明: SQL _ statement|statement _ block :有效的Transact-SQL文件或文件块中定义的文件、8.3.2 if执行else语句、T-SQL语句时强制执行条件检查。 如果满足条件,即如果表达式返回TRUE,则执行IF关键字及其后面的T-SQL语句或语句组。 可选的ELSE关键字引入替代的T-SQL语句,如果IF条件不满足(如果表达式返回FALSE ),则执行替代的T-SQL语句。 IF.ELSE语法的格式如下: if SQL _ statement|statement _ block else SQL _ statement|statement _ block 参数是返回boolean_expression:true或FALSE的表达式。 如果布尔表达式包含SELECT语句,则必须将SELECT语句括在括号中。 SQL _ statement|statement _ block :t-SQL语句或语句块中定义的语句组。 IF或ELSE条件只会影响T-SQL语句,除非使用语句块。 要定义语句块,需要BEGIN和END关键字。 8.3.3无条件转向语句(GOTO )、GOTO语句跳转执行流到标签,跳过GOTO后的T-SQL语句以标签继续处理。 GOTO语句和标签可以在过程、批处理或语句块中的任意位置使用,而GOTO语句可以嵌套。 GOTO语句的语法格式如下: 定义标签: label:是GOTOlabel、8.3.4RETURN语句,RETURN语句无条件地退出查询、存储过程和批处理,后续语句不再执行。 RETURN语句的语法格式为RETURNinteger_expression,8.3.5WHILE循环语句和BREAK,CONTINUE语句可以在T-SQL语句中使用WHILE语句设置循环体(重复执行SQL语句或语句块)所需的执行条件只要指定条件的测试结果为真,就重复执行相应的T-SQL语句。 BREAK和CONTINUE语句允许您控制WHILE循环中语句的执行。 while boolean _ expression begin SQL _ statement|statement _ block break SQL _ statement|statement _ block continue 结束,8.3.6WAITFOR语句t -单击语法格式如下: WAITFORDELAYtime|TIMEtime说明每个参数: DELAY :指示SQLServer最多等待24小时,直到经过指定的时间为止。 time :等待的时间。 time可以是datetime数据可接受的格式,也可以是局部变量,但不能是日期。 因此,datetime值不允许日期部分。 time表示SQL server将等待指定的时间。 8.4系统内置函数,在T-SQL语句中,用户或过程使用函数获取系统信息,执行数学计算,实现数据统计,实现数据类型转换等任务。 T-SQL编程语言提供三种函数:行集函数、聚合函数和标量函数。 8.4.2聚合函数,一般聚合函数,8.4.3标量函数,1 .字符串函数,2 .日期和时间函数,3 .数学函数,使用8.6光标,光标(Cursor )是与T-sql语句的SELECT语句相关联的符号名称,并且用户对从SQL服务器返回的结果集中的每行进行聚合游标是处理数据的方法。 要查看或处理结果集中的数据,请使用光标向前或向后扫描结果集中的每一行的数据。 游标可以是一个特殊的指针,用于从结果集的当前位置搜索一条或多条记录以及处理读取的数据,以及结果集的特定记录。要使用游标,声明游标-打开游标-读取数据-关闭游标-删除游标8.6.1声明游标1.SQL-92标准游标声明SQL-92标准游标声明语句的语法格式为declare cursor _ name insensitite cursorforselect _ statement for readonly|update of column _ name , n,任务8.11本例为SQL-92标准游标声明文件。 声明游标以访问myDB数据库中的所有学生信息。 usedmydgodeclarecur _ studentcursorcursorforselect * fromstudentforreadonly, 2.T-SQL扩展语法基于T-SQL标准的游标声明语句的语法格式为declare cursor _ name cursor local|global forward _ only|scroll static|keyset|dynamic|fast _ forwar scroll _ locks|optimistic ) type _ warning forselect _ statement for update of column _ name , n,任务8.12全局滚动动态光标cur _ course _ sture usedmydgodeclarecur _ course _ stuinfocursorglobalscrolldynamiccforselectssname,sZhuanYe, sruxueshijian graden
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国琥珀酸去甲文拉法辛行业营销策略建议及经营风险报告
- 2025-2030中国热墨辊市场销售规模与未来经营优势报告
- 2025年执业药师中药炮制《炮制饮片质量》试题及答案
- 配电房管理制度(5篇)
- 知识产权竞业禁止协议补偿标准及细则
- 生猪养殖场租赁与饲料加工设备租赁合同
- 离婚男方债务承担协议范本
- 商业地产物业管理责任担保及品牌形象维护合同
- 2025年中国机械总院集团总部相关干部岗位公开招聘笔试参考题库及答案
- 教育机构专业画册设计制作与宣传合作合同
- 垃圾的危害教学课件
- 2025年北师大版新教材数学二年级上册教学计划(含进度表)
- 2025年广东省中考语文试卷真题(含答案)
- 2024中级出版专业资格考试真题带答案分析
- 跨文化商务交际导论 课件 Unit 1 Culture
- 丹佛斯变频器modbus通讯
- (中职)氯碱PVC生产工艺及设备8项目八 PVC生产教学课件
- 115个低风险组病种目录
- GB∕T 33425-2016 化工产品中防结块剂抗结块性能的评价方法
- 常州豪爵铃木班组长任职资格考试试题及答案
- 《科学技术史》课程课件(完整版)
评论
0/150
提交评论