存储过程,函数和触发器,数据库-精品·公开课件.ppt

存储过程,函数和触发器,数据库-精品·公开课件.ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 存储过程,触发器和函数 广东海洋大学信息学院 郑赞红 存储过程,触发器和函数 内容回顾  T-SQL语言基础 主要数据类型: smallint,int,numeric,decimal,char, varchar,nchar,nvarchar ,datetime 运算符及优先级 常用函数 变量: 局部变量(内存变量,字段变量) 全局变量(系统变量) T-SQL编程基础 输出语句 PRINT 作用:是在屏幕上显示指定信息。 语法:PRINT 常量 | 变量| 表达式| 函数 SELECT 作用:以列表结构形式在屏幕上显示指定信息。 语法:SELECT 常量 | 变量| 表达式 | 函数 [AS 别名][,… n] 批是包含一个或多个 Transact-SQL 语句的集合,从应用程序一次性地发送到服务器执行。SQL Server 将批处理语句编译成一个可执行单元,此单元称为执行计划。 一般是将一些逻辑相关的业务操作语句放置在同一批中,这完全由代码编写者决定。 GO是批处理结束标志。 CREATE 语句不能在批处理中与其他语句组合使用。 不能在同一个批处理中更改表,然后引用新列。 不能在同一个批中删除一个数据库对象又重建它。 不能在同一个批中将规则或默认绑定给列又使用它们。 如果 EXECUTE 语句是批处理中的第一句,则不需要 EXECUTE 关键字。 编译错误使执行计划无法编译,会导致批处理中的任何语句都无法执行。 运行时错误产生以下两种影响之一: 停止执行批处理中当前语句和它之后的语句。 停止执行当前语句,继续执行其它所有语句。 在遇到运行时错误之前执行的语句不受影响。 T-SQL编程基础 语法: BEGIN 执行的SQL语句 END 说明:定义一组语句,通常在IF、ELSE或WHILE后面。 示例:求英语课程的平均分数。如果在80以上,则显示 “成绩达到预期目标”,并查询高于平均分的学号和分数;否则,显示还需继续努力”,并查询低于平均分的学号和分数。 USE 教学成绩管理数据库 GO SET NOCOUNT ON - - 不显示统计信息 DECLARE @平均分 FLOAT SELECT @平均分=AVG(分数) FROM 教学成绩表 WHERE 课程编号= ( SELECT 编号 FROM 课程信息表 WHERE 名称=英语) PRINT 英语课程平均分数 + STR(@平均分,5,1) IF (@平均分 80) BEGIN PRINT 成绩达到预期目标! SELECT 学号,分数 FROM 教学成绩表 WHERE 分数@平均分 AND 课程编号= ( SELECT 编号 FROM 课程信息表 WHERE 名称=英语) END ELSE BEGIN PRINT 还需继续努力!低于平均分的学生: SELECT 学号,分数 FROM 教学成绩表 WHERE 分数@平均分 AND 课程编号= ( SELECT 编号 FROM 课程信息表 WHERE 名称=英语) END GO T-SQL编程基础 语法1: CASE WHEN 条件表达式0 THEN 结果表达式0 [,...n] [ELSE 结果表达式n] END 语法2: CASE 测试表达式 WHEN 简单表达式0 THEN 结果表达式0 [,...n] [ELSE 结果表达式n] END 示例1:根据分数计算出成绩等级。 USE 教学成绩管理数据库 GO SET NOCOUNT ON SELECT 学号,分数,成绩 INTO #CJB FROM 教学成绩表 UPDATE #CJB SET 成绩= CASE WHEN 分数=90 AND 分数=100 THEN 优秀 WHEN 分数=80 AND 分数90 THEN 良好 WHEN 分数=70 AND 分数80 THEN 中等 WHEN 分数=60 AND 分数70 THEN 及格 ELSE 不及格 END SELECT * FROM #CJB GO 示例2:根据分数计算出成绩等级。 USE 教学成绩管理数据库

文档评论(0)

秦圈圈 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档