MySQL存储过程和触发器

本文详细介绍了MySQL中的存储过程和触发器。通过实例展示了如何创建存储过程,包括传入参数、删除、传出参数及INOUT类型的使用。还演示了如何通过SQL语句和Java JDBC调用存储过程。接着,解释了触发器的参数设置,如before/after、on指定数据表及行或语句触发,并指出MySQL不支持语句触发器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存储过程

  1. 传进去参数示例

创建一个p_persons的函数,传进去的参数是myId varchar(255)类型的

delimiter //
CREATE PROCEDURE p_persons ( IN myId VARCHAR ( 255 ) )
BEGIN
	SELECT *  FROM student  WHERE 	sId = myId;
END;
// 

调用,set句尾加上分号

SET @id = '1';
CALL p_persons(@id)

删除DROP PROCEDURE p_persons;


  1. 传出参数,还有inout类型的

创建一个fun的函数,传进去的参数是sId varchar(255)类型的,传出来的是nums int类型,
使用INTO nums 来给nums赋值

delimiter //
CREATE PROCEDURE fun(in sId VARCHAR(255),out nums int)
BEGIN
	SELECT count(*) INTO nums FROM xk WHERE sId=sId;
END
//

调用

set @sId='1';
SET @result=-1;
CALL fun(@sId,@result);
SELECT @result;
  1. 更高级的示例
delimiter 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值