mysql 存储过程

(1)MySQL存储过程是在“命令提示符”下创建的,所以首先应该打开“命令提示符”窗口。
(2)进入“命令提示符”窗口后,首先应该登录MySQL数据库服务器,在“命令提示符”下输入如下命令:

mysql –u用户名 –p用户密码

(3)更改语句结束符号,本实例将语句结束符更改为“//”。代码如下:

delimiter //

(4)创建存储过程前应首先选择某个数据库。代码如下:

use 数据库名

(5)创建存储过程。
(6)通过call语句调用存储过程。

1:
create database shen;
use shen;
delimiter //
drop table if exists test//
create table test(
id int(11) null
)//


/**最简单的一个存储过程**/
drop procedure if exists sp//
create procedure sp() select 1//
call sp()//

/**带输入参数的存储过程**/
drop procedure if exists sp1//
create procedure sp1(in p int)
comment 'insert into a int value'
begin
declare v1 int;
set v1 = p;
insert into test(id) values(v1);
end
//
call sp1(1)//
select * from test//


/**带输出参数的存储过程**/
drop procedure if exists sp2//
create procedure sp2(out p int)
deterministic
begin
select max(id) into p from test;
end
//
call sp2(@pv)//
select @pv//


/**带输入和输出参数的存储过程**/
drop procedure if exists sp3//
create procedure sp3(in p1 int,out p2 int)
begin
if p1 = 1 then
set @v = 10
else
set @v = 20
end if;
insert into test(id) values(@v);
select max(id) into p2 from test;
end
//
call sp3(1,@ret)//
select @ret//


/**既做输入又做输出参数的存储过程**/
drop procedure if exists sp4//
create procedure sp4(inout p4 int)
begin
if p4 = 4 then
set @pg = 400;
else
set @pg = 500
end if
select @pg;
end//
call sp4(@pp)//
set @pp = 4//
call sp4(@pp)/


show procedure status//
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
show create procedure sp_name
显示某一个存储过程的详细信息
drop procedure proc_name
删除存储过程

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值