- 1、本文档共91页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 第10章 虚拟现实《射柳》原型开发实例.pptx
- 专题1.1 二次根式(知识解读)-2022-2023学年八年级数学下册《同步考点解读•专题训练》(浙教版)(解析版).pdf
- 第10章课后习题解答.pdf
- 专题1.1 二次根式(知识解读)-2022-2023学年八年级数学下册《同步考点解读•专题训练》(浙教版)(原卷版).pdf
- 专题1.1 二次根式章末重难点题型(举一反三)(人教版)(解析版).pdf
- 第10章数据访问方法.pptx
- 专题1.1 二次根式章末重难点题型(举一反三)(人教版)(原卷版).pdf
- 第11章 利用深度学习实现“MNIST手写数字(可更换)识别” .pptx
- 专题1.1 一元二次方程的定义及解(3个考点七大题型)(原卷版).pdf
- 专题1.1 从自然数到有理数(基础检测)(原卷版).pdf
最近下载
- 2024年上海市普通高校招生本科艺术甲批次平行段院校专业组投档分数线美术与设计类.pdf VIP
- 2024入团共青团基础知识题库(含答案).docx
- 2024年在线网课学习课堂《健康管理科研思维训练(杭州师大 )》单元测试考核答案.pdf
- 2024年中国河南国际合作集团有限公司人员招聘考试题库及答案解析.docx
- 《骆驼祥子》读书分享PPT课件(精选图文).pptx
- 汉长安城遗址总体规划.pptx
- 欠钱不还的法院起诉书.docx VIP
- GB-T 10125-2012 人造气氛腐蚀试验 盐雾试验.pdf
- 新人教版七年级上册生物全册教案(2024年秋季新版教材).docx
- pcs-9651_080885技术和使用说明书.pdf
文档评论(0)