mysql-存储过程

存储过程

存储过程的语法格式:

create procedure 存储过程名称(参数)

begin 

        主体部分

end 

使用delimiter 命令修改结束符

例如:delimiter $$

将结束符改为 $$

因为在存储过程中可能包含多个sql语句,每个sql语句都是以分号结尾,这个时候服务器处理程序的时候遇到第一个分号就会认为程序结束,这样肯定是不行的,因此需要修改结束符

例如:

delimiter $$

create procedure delete_student(in xh char(6))

begin

delete from xs where xs_id = xh;

end $$

delimiter ;//将结束修改符修改回来

上面就是一个存储过程,调用时指定对应的学号就可以删除对应的学生信息

调用存储过程

语法:call 存储过程名(参数)

例如

call delete_student(81101),调用了上面的存储过程,删除了对应学号的学生信息


可以在存储过程中写入条件语句:

上图中创建了一个名为txcompar的存储过程,指定了一个integer类型的输入性参数k1以及一个输出型参数k2

调用存储过程:

call txcompar(5,@k);//传入一个数值为5的参数,并且声明一个变量k

查看k的内容

可以在存储过程中声明局部变量

语法:declare 变量名 变量类型;

select xs_rq into rq1 from xs where xs_id=xh1;

这条语句查询学号等于xh1的学生日期,并将结果赋给了变量rq1

上图这个存储过程实现了传入两个学生的学号,根据查询结果显示第一个学生的出生日期比第二个学生的大还是小。

调用上图的存储过程

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,...
    MIN_ZJM阅读 661评论 0 1
  • 原文:http://www.runoob.com/w3cnote/mysql-stored-procedure.h...
    忘了呼吸的那只猫阅读 1,115评论 0 1
  • 任务需求:定时执行的任务,调用存储过程,进行数据迁移。 存储过程相关总结:(存储过程的创建 不能伴随有if exi...
    时待吾阅读 3,129评论 0 4
  • 原文链接 MySQL存储过程详解 1.存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然...
    亚斯咪妮阅读 2,686评论 1 30
  • 转载自这里 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Sto...
    杜七阅读 2,423评论 4 27