mysql触发器和存储过程

本文介绍了MySQL中触发器的应用场景,例如在插入或删除某表数据时联动操作另一表。此外,还详细讲解了存储过程的创建及使用,包括如何传递参数和返回结果。

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

mysql触发器感觉比较使用,比如添加A表就要同时添加B表,或者删除A表的同时也要删除B表

 

触发器还设计到old和new的使用:

 

DELIMITER //
CREATE
TRIGGER `mytrigger2` AFTER INSERT ON `t_user` 
FOR EACH ROW BEGIN
INSERT INTO t_card(id,card_name,card_num)VALUES(new.id,new.name,new.pwd);
END//

 

注意:其中的DELIMITER // 其实跟触发器没关系的,他的意思说 当sql遇到一个“//”时就表示结束

 

上面的t_user中的这条数据是新添加的,所以用new

 

DELIMITER//
CREATE
TRIGGER `mytrigger3` BEFORE DELETE ON `t_user` 
FOR EACH ROW BEGIN
DELETE FROM t_card WHERE id=old.id;
END//

 

 

二、存储过程procedure:

 

DELIMITER//
CREATE PROCEDURE `myprocedure1`(IN id INT,IN NAME VARCHAR(20),IN pwd VARCHAR(20),OUT num LONG)
BEGIN
INSERT INTO t_user(id,NAME,pwd)VALUES(id,NAME,pwd);
SELECT COUNT(*) INTO num FROM t_card;
END//

 

存储过程主要涉及到传入参数和返回参数,使用in 和 out 标识

返回参数用 select into 这种写法

 

在数据库中调用procedure ,感觉没什么意义

CALL myprocedure1(4,'jack','henan',@num);
SELECT @num;

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值