




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第13章 SQL Server函数与编程结构第13章 SQL Server函数与编程结构13.1 标识符、数据类型、运算符,常量和变量13.2 流程控制命令13.3 函数13.3.1 SQL Server函数介绍13.3.2 常用的几种系统内置函数13.3.3 用户自定义函数13.1 标识符、数据类型、运算符、常量和变量任何一种编程语言都是由许多命令语句按一定的流程结构组合而成,而命令语句又是由一些标识符代表的常量或变量加上各种运算符构成的表达式组成的,其中常量和变量必须属于系统内置或用户自定义的某种数据类型。所以学习一门语言必须首先掌握这些基本的语法规定 标识符SQL中标识符是由用户定义的S
2、QL Server可识别的有特殊意义的字符序列,关于标识符的使用规则第6章已讲述 数据类型 数据类型包括SQL Server系统提供的数据类型和用户自定义的数据类型,第6章已作介绍 运算符算数运算符:包括 (加或正值)、 (减或负值)、 (乘)、 (除)、 % (取余)和 =(赋值)。比较运算符:包括 (大于)、=(大于等于)、=(小于等于)、(不等于)、!=(不等于)、!(不大于)、! 和 !、=、=、!=、!、!位运算符: 、 |逻辑运算符: NOT逻辑运算符: AND逻辑运算符: ALL、ANY、BETWEEN、IN、LIKE、OR、SOME 四个非常有用的通配符 % : 代表零个或多个
3、字符_(下划线): 代表一个字符 : 代表在某一范围的字符 : 代表不在某一范围的字符 常量 常量是指在程序运行过程中值不变的量。常量的使用格式取决于值的数据类型,因此有多少种数据类型就应该有多少种常量类型。常量根据类型可分为字符串常量、整型常量、实型常量、日期时间常量、货币常量、二进制常量、专有类型常量等 变量 变量指的是在程序运行过程中值可以发生变化的量,可以用来存放临时运算结果或输入输出数据。变量有名字和数据类型两个属性。变量名用于标识该变量,变量的数据类型则确定了该变量存放值的格式及运行时所能采用的运算方法。在SQL Sever中变量分为全局变量和局部变量 全局变量 全局变量是SQL
4、Servr系统内部使用的变量,其作用范围并不局限于某一程序,而是任何程序均可随时调用。全局变量通常用于存储一些SQL Server的配置设定值和效能统计数据。用户可在程序中用全局变量来测试系统的设定值或T-SQL命令执行后的状态值。全局变量不是由用户的程序定义的,它们是在服务器级定义的,只能使用预先说明及定义的全局变量,引用全局变量是,必须以“”开头,局部变量的名称不能与全局变量的名称相同,否则会在应用中出错 局部变量 局部变量是用户可自定义的变量,它的作用范围仅在程序内部。在程序中通常用来存储从表中查询到的数据,或当作程序执行过程中暂存变量使用。局部变量必须以“”开头,而且必须先用DECLA
5、RE命令说明后才可使用,其语法格式是:DECLARE 变量名 变量类型 ,变量名 变量类型 13.2 流程控制命令除了前几章已经介绍过的SELECT查询语句,可以用T-SQL语句编写比较复杂的数据库服务端程序,编写的语法格式与其他高级编程语言比较类似,一般来说程序主要就是由常量、变量、表达式、能够改变执行顺序的流程控制命令,外加一些注释、错误处理等构成。流程控制命令是程序的核心之一,决定着程序的结构功能 。BEGINENDBEGINEND用来设定一个程序块,SQL Server将BEGINEND内的所有程序视为一个单元执行,其语法格式很简单:BEGIN 命令行 | 程序块END其中BEGINE
6、ND可以嵌套使用 GOTOGOTO命令用来改变程序执行的流程,使程序跳到有标识符的指定的程序行再继续往下执行,语法如下:GOTO 标识符作为跳转目标的标识符可为数字与字符的组合,但必须以“:”结尾;在GOTO命令行标识符后不必跟“:” IFELSE当某一条件成立时IFELSE执行某一段程序,条件不成立时则执行另一段程序。语法如下:IF 命令行 | 程序块 ELSE 命令行 | 程序块 其中可以是各种表达式的组合,但表达式的值必须是逻辑值“真”或“假”。ELSE子句是可选的,最简单的IF语句可以没有ELSE子句部分。如果不使用程序块,IF或ELSE只能执行一条命令。IFELSE可以进行嵌套 WH
7、ILECONTINUEBREAK WHILE命令在设定的条件成立时会重复执行命令行或程序块,其语法如下:WHILE BEGIN BREAK CONTINUE 命令行 | 程序块END其中,CONTINUE命令可以让程序跳过CONTINUE命令之后的语句,回到WHILE循环的第一行命令;BREAK命令则让程序完全跳出循环,结束WHILE命令的执行,WHILE语句也可以嵌套 RETURNRETURN命令用于结束当前程序的执行,返回到上一个调用它的程序或其他程序,语法如下:RETURN 整数值在括号内可指定一个返回值。如果没有指定返回值,SQL Server系统会根据程序执行的结果返回一个内定值,返
8、回零值表示成功,返回非零值则表示失败 WAITFORWAITFOR命令用来暂时停止程序的执行,直到等待指定时间之后或所设定的时间已到才继续往下运行程序,其语法如下:WAITFOR DELAY|TIME其中“时间”必须为DATETIME类型的数据,但不能包括日期。DELAY用来设定等待的时间,最多可达24小时。TIME用来设定等待结束的时间点 13.3 函数13.3.1 SQL Server函数介绍和其他语言类似,T-SQL提供了大量有用的函数。在数据库的日常维护和管理中,函数的使用非常频繁,正确使用函数可以帮助用户获得系统信息、进行数学运算、统计、简化数据查询,等等。在程序设计过程中,也常常需
9、要调用系统提供的函数。T-SQL编程语言一样有系统内置函数和用户自定义函数之分,其中系统内置函数有三种类型三种内置函数1。行集函数:行集函数是返回值为对象的函数,该对象可在T-SQL语句中作为表使用。本书对行集函数不作详细介绍,感兴趣的同学可以查看SQL联机帮助。2。统计函数:统计函数可以返回一列、几列或全部列的汇总数据,用于计算SELECT语句查询行的统计值,常用的统计函数有AVG()、SUM()、COUNT()、MAX()和MIN()等,其具体使用方法在前面章节已作过介绍。3。标量函数:标量函数指那些输入参数的类型为基本类型,返回值也为基本类型的函数,这些函数可以用在表达式中 13.3.2
10、 常用的几种系统内置函数数学函数字符串处理函数日期时间函数系统与元数据函数13.3.3 用户自定义函数SQL Server 2005支持用户自行设计T-SQL函数来弥补系统所提供的内置函数的不足,自定义函数可以使用在任何允许运行内置函数的地方。用户函数需要用CREATE FUNCTION语句来创建,用ALTER FUNCTION语句来修改。通过sp_helptext系统存储过程可以获取函数的源代码。用户创建函数时可以有0个、1个或多个参数,必须返回单一的值。返回值可以是标量,也可以是一个表 自定义标量函数创建自定义函数的语法格式如下:CREATE FUNCTION owner_name. fu
11、nction_name(parameter_name AS scalar_parameter_data_type =default , n)RETURNS scalar_return_data_typeWITH ENCRYPTION|SCHEMABINDING , n ASBEGIN function_body RETURN scalar_expressionEND调用格式调用用户自定义函数的语法格式有以下三种:所有者名.函数名(实参1,实参n)所有者名.函数名 实参1,实参n所有者名.函数名 形参1=实参1,形参n=实参n自定义内嵌表值函数 创建语法格式:CREATE FUNCTION ow
12、ner_name. function_name(parameter_name AS scalar_parameter_data_type =default , n)RETURNS TABLEWITH ENCRYPTION | SCHEMABINDING , n ASRETURN (select-statement) 参数说明:与标量函数相比不同的地方是:返回值类型为TABLE,表示返回一个表。用RETURN (select-statement) 代替了BEGINEND语句块,表示返回内嵌表值 调用格式相对于标量函数而言,内嵌表值函数只能通过SELECT语句调用 自定义多语句表值函数创建语法格式:CREATE FUNCTION owner_name. function_name( parameter_name AS scalar_parameter_data_type =default , n )RETURNS retuen_variable TA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家用纺织品的产品差异化与竞争优势考核试卷
- 智能车载设备的故障预测考核试卷
- 工艺美术品的商业模式创新考核试卷
- 专业技术培训引领行业变革考核试卷
- 家居装饰装修中的施工质量控制考核试卷
- 城市轨道交通的旅客负担与收入分析考核试卷
- 技术标准制定考核试卷
- 工业控制计算机在电力系统的应用考核试卷
- 学校租赁土地合同范本
- 公司并购签约合同范本
- 女生青春期知识讲座(六年级)课件
- 化工过程安全管理导则
- 建设工程管理毕业论文
- 新一代智能变电站二次系统技术问答
- 索膜结构施工方案
- 完整版老旧小区改造工程施工组织设计方案-3
- 从stahl精神药理学看二代抗精神病药物疗效及功课件
- 新教科版五年级下册科学全册每节课后练习+答案(共28份)
- 建筑施工企业管理制度汇编(全套)
- 大话艺术史(全2册)
- 岩土工程测试与监测技术绪论
评论
0/150
提交评论