1 / 72
文档名称:

04TransactSQL程序设计.ppt

格式:ppt   大小:1,276KB   页数:72页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

04TransactSQL程序设计.ppt

上传人:电离辐射 2022/5/19 文件大小:1.25 MB

下载得到文件列表

04TransactSQL程序设计.ppt

文档介绍

文档介绍:04TransactSQL程序设计

Eg:使用@***@ERROR全局变量检测在SQL语句中出现的限制冲突
假设在数据库的STUDENTS表中为BDAY字段建立了
CHECK约束(bday>'1980-1 CASE dept
when'基础部' then '教基础课程的部门'
when'经管系' then'培养经济管理和行政管理的人才'
when'计算机系'then'培养计算机高级技术人才'
when'国际交流系'then'培养英语实用人才'
else '其他‘
end
from teachers
23
、无条件转移(GOTO)
格式: GOTO 标号处
作用:本语句将T-SQL语句的执行顺序无
条件的转移到用户指定的标号处
如何定义标号出:
标号名称:
24
Eg: 使用GOTO语句求10的阶乘
DECLARE ***@I int,***@time int
select ***@I=1,***@time=2
label:
select ***@I=***@I****@time
select ***@time=***@time+1
if ***@time<=10
GOTO Label
else select ***@i,***@time
25
GOTO语句的使用注意情况
在书写程序的过程中,应尽量避免使用GOTO语句,因为过多的GOTO语句可能造成T-SQL处理的逻辑混乱,而难于理解
26
WHILE语句
格式:
WHILE 布尔表达式
BEGIN
命令程序块
END
作用:当WHILE后面的布尔表达式为真,
会重复执行命令程序块,直到条件不成立
时为止
27
通常与WHILE语句同时使用的T-SQL语句有两条:BREAK和CONTINUE。
BREAK:执行该语句时,程序无条件的退
出整个WHILE循环结构
CONTINUE:执行该语句时,程序无条件
的跳过CONTINUE后面的语句,而立即执
行下一层循环
28
EG:
判断teachers表中是否有老师的奖金少于300,如果有,则将所有老师的工资增加500,直到所有老师的奖金都多于300(教师工资的30%是奖金)
29
WHILE EXISTS(SELECT *
FROM teachers where pay*<300)
BEGIN
UPDATE teachers
set pay=pay+500
END
30
RETURN语句
作用:无条件终止查询、存储过程或批处
理。RETURN后面的语句将不再执
行。
主要用于存储过程中
31
Wait for 语句
作用:挂起执行连接,直到超过指定的时间间隔或者达到一天中指定的时间。
语法格式:
指定时间间隔:Wait for delay 时间间隔
固定时间点: Wait for time 时间值
32
EG
在执行SELECT语句之前等待两秒
Waitfor delay ’00:00:02’
Select sno,sname
From students
Where class=’03物流2’
下例在晚上 10:20 执行指定存储过程
WAITFOR TIME '22:20'
EXECUTE update_all_stats
33
SQL Server函数
1、系统函数
可以使用户在不访问系统表的情况下,获
取SQL Server系统表中的信息。
Col_length 返回列长度
34
EG:返回students表中sname字段的长度
Select col_length(‘students’,’sname’)
as 字段长度
From students
35
2、聚合函数
作用:用于计算SELECT语句查询行的统计
值,通常与GROUP BY语句一起使用,对
表分组统计。
36
聚合函数
函数
参数
功能
COUNT
([ALL/DISTINCT]expression)
计算表示式的数量,TISTINCT用于删除重复
MIN
(expression