- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 T-SQL编程 课程内容回顾 数据库文件包括哪些,扩展名都是什么? 建立数据表和添加约束 数据库的安全模型 本章目标 掌握如何定义变量并赋值 掌握如何输出显示数据 掌握IF、WHILE、CASE逻辑控制语句 理解SQL中批处理的概念 T-SQL中的数据类型 使用变量 变量分为局部变量和全局变量 局部变量 使用DECLARE定义,声明时必须在变量名前加@ 局部变量必须先声明后赋值 如:变量名vname定义成@vname 全局变量 标识为两个@标记(@@) 由SQL Server提供的,不能由用户创建。 全局变量提供关于SQLServer的当前状态信息 如:SQLServer当前版本号:@@version 局部变量的声明和赋值 局部变量的声明 语法: 例如: 局部变量的赋值有两种方法 语法: 例如 局部变量的使用 SET 赋值语句一般用于赋给变量指定的数据常量,如本例 ‘SMITH’ SELECT赋值语句一般用于从表中查询数据,然后再赋给变量。 需要注意的是:SELECT语句需要确保筛选的记录不多于一条。如果查询的记录多于一条,将把最后一条记录的值赋给变量。 局部变量的使用 参考语句: 全局变量 全局变量标识为两个@标记(@@),它是由SQL Server提供的 全局变量的使用 输出语句 T-SQL支持输出语句,用于输出显示处理的数据结果 常用的输出语句有两种: Print局部变量或字符串 SELECT局部变量 as 自定义列名 示例: 使用print语句要求单个局部变量或字符串表达式作为参数 print ‘当前错误号’ + @@ERROR 全局变量@@ERROR返回的是整数值。所以必须使用转换函数,把数据转换为字符串,如下所示: Print ‘当前错误号’ + convert(varchar(5),@@ERROR) 批处理 批处理是包含一个或多个 SQL 语句的组,从应用程序一次性地发送到SQL Server执行 SQL Server 将批处理语句编译成一个可执行单元,此单元称为执行计划。执行计划中的语句每次执行一条 批处理语句 示例1: 批处理语句 SQLServer规定:如果是建库、建表语句、以及后面将要学到的存储过程和视图等,则必须在语句末尾添加“GO”批处理标志 其他常用的DDL语句主要有: CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE RULE CREATE TRIGGER CREATE VIEW 这些语句不能在批处理中与其他语句组合使用 在SQL中使用注释 注释是程序代码中的描述性的文本字符串,也称为注解,编译器会忽略这些内容 注释常用来记录程序名称、作者名称以及对代码进行重要修改的日期。注释可以用来描述复杂的计算或用来解释程序设计的方 SQLServer支持下列两种注释方式: --(双连字符,单行注释):这些注释字符可以用在要执行的代码的同一行,或者单独作为一行。 /*…*/(正斜线-星号字符对,多行注释):从打开注释对(/*)到关闭注释对(*/)的所有内容都认为是注释部分。 多行注释(/* */)不能跨批处理 逻辑控制语句 Transact_SQL提供了一组流程控制语句,包括 条件逻辑(IF..ELSE 和 CASE) 循环(WHILE,经常与CONTINUE、BREAK连用) 多分支选择CASE..END等 IF-ELSE条件语句 当条件为真时,执行一条或一组语句 语法: IF-ELSE条件语句示例 问题: 求雇员平均工资,如果在1500以上,显示”工资较高”,并显示最高工资的三名员工信息;如果在1500以下,显示“工资偏低“,并显示最低工资的三名员工信息。 分析: 第一步,统计平均工资存入临时变量。 第二步,用IF_ELSE判断,如下所示: IF-ELSE条件语句示例 SET NOCOUNT ON DECLARE @salavg float SELECT @salavg=AVG(sal) FROM emp PRINT 员工平均工资 +convert(varchar(5),@salavg) IF (@salavg 1500) BEGIN PRINT 员工工资比较高,最高工资的三名员工: SELECT TOP 3 * FROM emp ORDER BY sal DESC END ELSE BEGIN PRINT 员工工资比较低,最低工资的三名员工:
您可能关注的文档
- PowerBuilder案例开发程序设计教程 陈刚 chap3新.PPT
- PowerBuilder案例开发程序设计教程 陈刚 chap6新.PPT
- PowerBuilder案例开发程序设计教程 陈刚 chap7新.PPT
- PowerBuilder案例开发程序设计教程 陈刚 chap8新.PPT
- PowerBuilder程序设计基础 王艳青 第二章_PowerScript语言新.ppt
- PowerBuilder程序设计基础 王艳青 第九章 应用程序的新.ppt
- PowerBuilder程序设计基础 王艳青 第六章 数据窗口对新.ppt
- PowerBuilder程序设计基础 王艳青 第四章 窗口控件新.ppt
- PowerBuilder程序设计基础 王艳青 第一章新.ppt
- PowerBuilder程序设计教程 第01章教案新.ppt
- 2025江浙沪居民睡眠健康小调研报告.pdf
- 毕业论文的开题报告范文.docx
- 团委活动方案(拓展).docx
- 汽车智能驾驶行业深度报告:端到端与AI共振,智驾平权开启新时代.pdf
- 小核酸行业深度:技术平台和适应症不断验证,迎来销售和临床密集兑现期-华福证券-2025.3.31-65页.docx
- 医药生物行业医疗AI专题报告二多组学篇AI技术驱动精准诊断实现重要突破-25031440页.docx
- CXO行业系列报告三寒冬已过行业需求逐步回暖-25031430页.docx
- 全国租赁市场报告2025年3月_可搜索.pdf
- 玩具行业“情绪经济”专题:创新玩法+IP赋能,重新定义玩具-华鑫证券-2025.docx
- 医疗保健行业PCAB抑制剂药物深度报告抑酸药物市场空间广阔PCAB抑制剂大有可为-25.pdf
文档评论(0)