《MySQL数据库原理与应用案例教程》 课件 项目9 存储函数和触发器.pptx

《MySQL数据库原理与应用案例教程》 课件 项目9 存储函数和触发器.pptx

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

《MySQL数据库项目化教程》;;?掌握如何创建存储函数。

?掌握如何查看、调用、修改和删除存储函数。

?掌握如何创建触发器。

?掌握如何查看、应用和删除触发器。;知识重点

?创建、调用存储函数。

?创建、应用触发器。

知识难点

?创建存储函数。

?创建触发器。;;;;在实际工作过程中,开发人员经常需要重复使用一些计算或功能,为了减少开发人员的工作量,提高工作效率,可以将其写成一个存储函数。存储函数和存储过程的区别在于存储函数是必须有返回值的,而存储过程并没有。根据需求,完成存储函数的创建、查看、调用、修改和删除操作。;(1)会创建存储函数。

(2)会调用和查看存储函数。

(3)会修改与删除存储函数。

(4)通过使用存储函数,培养学生立足学科与行业领域,学会学习,学会思考。;;步骤1创建存储函数、调用存储函数

(1)创建一个存??函数,在tb_student数据表中,根据学生的姓名查询该学生所学专业,并将该学生所学专业返回。

mysqlusechjgl_db;

mysqldelimiter//

mysqlcreatefunctionfun_stu(stu_namevarchar(20))returnsvarchar(20)

-deterministic

-begin

-declarestu_specialtyvarchar(20);

-selectsspecialtyintostu_specialtyfromtb_studentwheresname=stu_name;

-returnstu_specialty;

;任务实施;(2)调用存储函数fun_stu。

mysqlselectfun_stu(王苗苗);;任务实施;任务实施;任务实施;(4)调用存储函数fun_grade。

mysqlselectfun_grade(王苗苗);;步骤2查看存储函数

(1)查看存储函数fun_grade的状态。

mysqlshowfunctionstatuslikefun_grade\G;;(2)查看存储函数fun_grade的定义。

mysqlshowcreatefunctionfun_grade\G;;步骤3修改存储函数

修改存储函数fun_grade,指明调用者可以执行。

mysqlalterfunctionfun_gradesqlsecurityinvoker;;存储函数,主要用于计算和返回一个值,可以将经常需要使用的计算或功能写成一个函数。

存储函数和存储过程一样,都是在数据库中定义一些SQL语句的集合。存储函数可以通过return语句返回函数值。而存储过程没有直接返回值,主要用于执行操作。;语法分析:

CREATEFUNCTION:创建存储函数关键字。

func_name:存储函数名。

[param_nametype]:param_nam表示存储函数参数名称,type指定存储函数的参数的数据类型。;RETURNStype:指定返回值的数据类型。

characteristic:指定存储函数的特性,该参数的取值与存储过程是一样的。

routine_body:存储函数体,是SQL语句的内容,用“begin...end”来标注SQL语句的开始和结束。若存储函数中只有一条SQL语句,则可以省略“begin...end”标志。;知识链接——调用存储函数;知识链接——查看存储函数;知识链接——修改存储函数;知识链接——删除存储函数;;;在实际工作过程中,经常需要在数据表发生更改时,自动进行一些处理。这时就可以使用触发器处理。比如在学生表中添加一条学生的记录时,学生的总数就必须同时改变。可以创建一个触发器对象,每当添加一条学生记录时,就执行一次计算学生总数的操作,这样就可以保证每次添加一条学生记录后,学生总数和学生记录数是一致的。根据需求,完成触发器的创建、应用、查看和删除操作。;(1)会创建触发器。

(2)会应用触发器。

(3)会引用行变量new、old。

(4)会查看、删除触发器。

(5)通过创建和管理触发器,让学生了解一切事物之间的相互依赖、相互制约、相互影响。;;步骤1创建触发器并应用

(1)创建一个触发器,名为tri_test,作用是每次修改数据表tb_student中的数据后,给用户变量str赋值为“triggerisworking”。

mysqlusechjgl_db;

mysqlcreatetriggertri_testafterupdateontb_studentforeachrowset@str=triggeriswork

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档