mysql触发器如何输出变量,如何在触发器MYSQL中将变量设置为存储过程的结果?...

I have a little problem here, I'm making a trigger for my DB work, but I don't know how to use a stored procedure inside a trigger, I want to save the result of the procedure in a variable and then use the variable later on an IF comparator, this is my code:

DELIMITER @

CREATE TRIGGER insert_players AFTER INSERT ON players FOR EACH ROW

BEGIN

DECLARE A varchar(50);

set A = CALL consult_sex(player_name); //I WANT SOMETHING LIKE THIS

IF A != FEMALE THEN

INSERT INTO males (id_player, player_fullname, player_celphone)

VALUES (new.id_player, concat(new.player_name, " ", new.player_lastname), new.player_phone);

END IF;

END;

@

Could someone help me with this doubt? Would be wonderfull, thanks.

解决方案

have your procedure take a OUT parameter like

CREATE PROCEDURE consult_sex(player_name VARCHAR(20), OUT player_sex VARCHAR(10))

In your procedure SET the value like

SET player_sex =

Call your procedure passing a parameter

call consult_sex(player_name, @out_value);

select @out_value;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值