第八单元 数据库编程.pptx

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第八单元数据库编程;任务8.1用户自定义函数

任务8.2创建存储过程

任务8.3创建触发器;8.1.1情景描述

8.1.2问题分析

8.1.3解决方案

8.1.4知识总结

8.1.5应用实践

;学生信息管理系统里经常需要做一些重复性的操作,可把这些操作创建为函数来使用。数据库开发人员需要创建一个函数,要求该函数可以根据输入的专业名称,返回本专业学生的学号、姓名、性别、出生日期、身份证号。

;为了解决上述问题,需要完成以下任务:

1.分析专业名称和学生信息之间的关联,先从专业名称,在专业表中查询出专业代码,再由专业代码,在班级表中查询出班级编号,最后根据班级编号,在学生表中查询出学生的信息。

2.根据分析结果,写出创建函数的命令。

3.执行函数以验证结果。;1.打开SQLServerManagementStudio,单击“对象资源管理器”中的“数据库”文件夹下的数据库“学生管理”;

2.单击工具栏上的“新建查询”命令,打开“查询编辑器”;

3.在“查询编辑器”上输入以下代码:

;CREATEFUNCTIONfunstudent(@majorvarchar(32))

RETURNSTABLE

AS

RETURN(SELECT学号,姓名,性别,出生日期,身份证号

FROM学生

WHERE班级编号IN(SELECT班级代码

FROM班级

WHERE专业代码IN(SELECT专业代码

FROM专业

WHERE专业名称=@major)));编程基础

变量与常量

IF…ELSE语句

CASE语句

WHILE语句

RETURN语句

函数

标量函数

表值函数;常量表示一个特定数据值的符号,在程序运行过程中始终保持不变,常量的格式取决于它所表示的值的数据类型,如字符常量必须用单引号括起来,由字母、数字及其它特殊字符组成;二进制常量由0、1构成;十进制整型常量不带小数点;日期常量也要用括号括起来等。

在程序运行过程中,值可以改变的量称为变量,按照变量的有效作用范围,可以分为局部变量和全局变量。局部变量的作用范围仅限于程序内部,局部变量名必须使用@符号开始。

全局变量的作用范围不仅仅局限于某一程序,任何程序均可以随时访问,全局变量经常存储一些SQLServer的配置设定和统计数据,不能由用户的程序定义,全局变量以符号@@开始。

;局部变量用关键字DECLARE声明,语法格式如下:

DECLARE@变量名数据类型

参数说明如下:

@变量名:局部变量的名称,必须使用@符号开始,变量名遵守标识符的命名规则。

数据类型:用于指定局部变量的数据类型,可以是由系统提供的除了text、ntext、image之外的数据类型。;局部变量一旦声明,初始值默认为NULL,可以使用SET或SELECT命令为变量赋值,语法格式如下:

SET@变量名=表达式或者

SELECT@变量名=表达式

参数说明如下:

@变量名:指定已经声明的要被赋值的变量名称。

表达式:合法的有效的SQLSERVER表达式。;变量的值或常量的值可以通过SELECT或PRINT命令输出,语法格式如下:

SELECT局部变量|全局变量|常量

PRINT局部变量|全局变量|常量

参数说明如下:

@变量名:不加单引号。

常量:如果是字符串要用括号括起来,如果是多个字符串的连接,需要用+号连接。

;【例8-1】定义一个字符串变量和整型变量,为其赋值,并输出查看结果。;SELECT@@SERVERNAMEAS服务器名,@@VERSIONAS版本;条件判断语句IF…ELSE用来判断当一个条件成立时执行某段程序,条件不成立时执行另外一段程序。语法格式如下:

IF条件表达式

语句块1

ELSE

语句块2

参数说明如下:

条件表达式:关系运算符和逻辑运算符组成的表达式,其值决定分支的执行路线。

语句块1:条件表达式成立时,执行的语句块,如果语句块的语句多于一条,语句块前用BEGIN,语句块后用END。

语句块2:条件表达式不成立时,执行的语句块。

ELSE语句块2:可选项,最简单的IF语句没有ELSE选项。

;DECLARE@pricemoney

SET@price=66

IF@price50

PRINT价格过高

ELSE

PRIN

文档评论(0)

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

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

版权声明书
用户编号:8036067046000055

1亿VIP精品文档

相关文档