MySQL——存储过程

定义

存储过程的定义很简单
创建

create procedure pro_name()
begin
.........
end

调用

call pro_name()

主体中一些语句会带有分号,如果你使用 mysql客户端程序来定义一个包含分号字符的存储程序,问题就出现了,默认情况下, mysql用分号作为分隔符,以你必须重新定义暂时性的分隔符。
这样就将//作为分隔符了,定义完过程后,记得更改回来。

mysql> delimiter //

示例

mysql> delimiter //
mysql> create procedure sim(OUT pa INT)
    -> begin
    -> select count(*) INTO pa from user;
    -> end//
Query OK, 0 rows affected

mysql> delimiter ;
mysql> call sim(@a);
Query OK, 1 row affected

mysql> select @a;
+----+
| @a |
+----+
| 21 |
+----+
1 row in set

mysql> 

存储过程大致分为,有入参无出参 ;有入参有出参;无入参无出参;无入参有出参,出参是列表
。给出简单的示例。
数据库中有user表,表中有id,name,status三个字段
只有入参

CREATE PROCEDURE inp (IN pa VARCHAR(20)) begin insert into user(name) values(pa);end//

有入有出

CREATE PROCEDURE inandout (IN inpa INT ,OUT outpa VARCHAR(20)) begin select name INTO outpa from user where id=inpa;end//

只有出参,且为列表

CREATE PROCEDURE outp () begin select * from user;end//
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值