200 likes | 371 Views
第 3 讲 Transact-SQL 语言编程. 学习目的. 掌握 Transact-SQL 语言编程知识,包括标识符、表达式、运算符、常用函数、常量与变量,常用系统存储过程,以及流控语句等,并能够根据实际需要,进行综合运用编写程序代码。. 内容框架. 问题 如何编制类似 C 语言的基本程序? 要能编程须具备哪些结构? Transact-SQL 语法规则 引用数据库对象的规则 Transact-SQL 的语法元素 标识符:常规标识符、分隔标识符. 编程基础知识. 问题:下面的标识符是否符合 SQL Server 的命名规则: $table @table#
E N D
学习目的 掌握Transact-SQL语言编程知识,包括标识符、表达式、运算符、常用函数、常量与变量,常用系统存储过程,以及流控语句等,并能够根据实际需要,进行综合运用编写程序代码。
问题 如何编制类似C语言的基本程序? 要能编程须具备哪些结构? • Transact-SQL语法规则 • 引用数据库对象的规则 • Transact-SQL的语法元素 • 标识符:常规标识符、分隔标识符 编程基础知识
问题:下面的标识符是否符合SQL Server的命名规则: $table @table# _var_1 order details order 练习1
聚合函数 字符串函数 日期函数 系统函数 数学函数 元数据函数 安全函数 游标函数 配置函数 排名函数 常用函数
ROW_NUMBER():返回查询结果每一行的序号。 • RANK():返回查询结果每一行的排名,排名有可能会间断。DENSE_RANK:返回查询结果每一行的排名,排名没有任何间断。 排名函数
思考: • 如何将一个数字转换为一个字符串? • 如何截取字符串? • 如何根据一个人的出生年月,使用日期函数计算年龄? • 如何对一个数进行取整?进行四舍五入? 常用函数(练习)
常量: • 字符串常量 • 数值常量 • 日期常量 • uniqueidentifier常量 • 注:引用数值常量不用单引号,引用日期、字符串常量时需要加单引号 常量
变量:在程序运行过程中值是变化的量 • 局部变量(以@开头;使用DECLARE语句声明) 【问题】 DECLARE @var1 int,@var2 money SELECT @var1=50,@var2=$29.95 SELECT @var1,@var2 • 全局变量(也称配置函数,是系统定义的变量,以@@开头;用户只能使用) 例如:@@version @@rowcount 变量
问题: 编写程序计算两个整数之和 练习2
算术运算符(+、-、*、/、%) • 比较运算符(=、>、<、>=、<=、<>、!=、!<、!>) • 逻辑运算符(NOT、OR、AND、IN、LIKE、BETWEEN、EXISTS) • 字符串连接运算符(+) • 赋值运算符(=) • 位运算符(&、|、^、~) 运算符
常用系统存储过程 存储过程分为: 系统存储过程 用户定义的存储过程 常用存储过程练习: 显示Xk数据库有哪些数据库对象 USE Xk GO SP_HELP GO
批处理的特点 • 一次发给数据库服务器的所有的SQL语句,由GO作为结束标志。 • 编译成一个可执行单元——执行计划 • 执行时,每次执行计划中的一条语句 • 特别注意:如果在一个批处理中,某条语句存在语法错误,SQL Server将不执行批处理中的任何语句。【例】 批处理
【问题】如何用SQL语句编程实现:求1+2+3+4+…+100=?【问题】如何用SQL语句编程实现:求1+2+3+4+…+100=? • 编程思想: • 代码: • 分析:WHILE、BEGIN…END、IF…ELSE…、GOTO的使用用法 流控语句
WAITFOR语句: • WAITFOR DELAY ‘time’——延迟一段时间 • WAITFOR TIME ‘time’——等待到一个时刻 流控语句
CASE语句(开关语句) 【例】P115 例3.32 【练习】在Xk数据库中显示班级编码、班级名称和系部名称(当系部编码为01时,显示系部名称为“计算机系”;当系部编码为02时,显示系部名称为“建筑系”;当系部编码为03时,显示系部名称为“旅游系”),要求使用CASE语句 流控语句
重点掌握: • SQL Server中标识符的命名规则 • 学会使用局部变量和全局变量 • 学会使用一些常用的函数 • 流控语句 • 学会编写简单的SQL程序 本章总结
课后任务 思考与练习: 117页 1-6题