6章Transact-SQL程序设计.ppt
文本预览下载声明
第6章 Transact-SQL程序设计 Transact-SQL语言是对标准SQL语言的扩充,是SQL Server中的编程语言,它提供了类似程序设计语言的基本功能,如变量、函数、流程控制语句等。 Transact-SQL最重要的用途是设计服务器端的能够在后台执行的程序块,如:存储过程、触发器等。 第6章 Transact-SQL程序设计 6.1 使用批处理、脚本和注释 6.2 变量 6.3 运算符 6.4 函数 6.5 流程控制语句 6.1 使用批处理、脚本和注释 6.1 使用批处理、脚本和注释 6.1 使用批处理、脚本和注释 6.1 使用批处理、脚本和注释 6.2 变量 6.2 变量 6.2 变量 6.2 变量 6.2 变量 6.3 运算符 6.4 函数 6.4 函数 6.4 函数 日期和时间函数表 6.4 函数 6.4 函数 6.4 函数 6.4 函数 6.4 函数 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 6.5 流程控制语句 CASE…END必须成对使用 简单CASE表达式 格式: CASE 测试表达式 WHEN 测试值1 THEN 结果表达式1 WHEN 测试值2 THEN 结果表达式2 … [ELSE 结果表达式n] END 注意:1)测试表达式必须与测试值的数据类型相同 2)测试表达式可以使局部变量、字段变量 3)若同时有多个测试值与表达式值相同,则只执行第一个匹配的测试值后的表达式。 简单Case例1:判断警务管理数据库中,案件记录简表中的“案件状态”字段。若为1,则显示“已结案”,0则显示“未结案” use 警务管理 select 案件号,是否结案= case 案件状态 when 1 then 已结案 else 未结案 end from 案件记录简表 简单Case例2:根据案件记录表中的“案件类别”字段,显示每个案件的案件号和汉字的类别。1—凶杀;2—抢劫;3—盗窃;4—诈骗 select 案件号,案件类别= case 案件类别 when 1 then 凶杀 when 2 then 抢劫 when 3 then 盗窃 when 4 then 诈骗 end from 案件记录简表 (2) 搜索CASE表达式 格式:CASE WHEN 条件表达式1 THEN 结果表达式1 WHEN 条件表达式2 THEN 结果表达式2 … [ELSE 结果表达式n] END 注意:1)case关键字后不跟任何表达式 2)when后的条件表达式结果为逻辑T或F 3)若有多个比较结果为T,则只返回第一个为T的结果表达式 例1:根据学生表中的外语成绩,显示教学管理中学生的学号、姓名、外语及格否和外语成绩 use 教学管理 select 学号,姓名,外语及格否= case when 外语成绩=60 then 是 else 否 end,外语成绩 from 学生 要注意先后顺序! 例2:根据外语成绩,显示外语等级(优、良、中、及格、不及格) use 教学管理 select 学号,姓名,外语等级= case when 外语成绩=90 then 优 when 外语成绩=80 then 良 when 外语成绩=70 then 中 when 外语成绩=60 then 及格 else 不及格 end,外语成绩 from 学生 6.5.4 WAITFOR语句 格式:WAITFOR DELAY ‘time’|TIME ‘time’ DELAY指出一段时间间隔后开始一个动作; TIME指定一个时刻到来时开始一个动作; time必须是hh:mm:ss的格式。 例: 如下语句在4秒钟之后打印出’OK1’字样: WAITFOR DELAY
显示全部