mysql存储过程执行有变量的查询_mysql – 我的SQL动态查询执行并获取存储过程中的变量...

看看这个例子 –

CREATE TABLE table1(

column1 VARCHAR(255) DEFAULT NULL,

column2 VARCHAR(255) DEFAULT NULL,

column3 VARCHAR(255) DEFAULT NULL

);

INSERT INTO table1 VALUES

('1', 'value1', 'value2'),

('2', 'value3', 'value4');

DELIMITER $$

CREATE PROCEDURE procedure1(IN Param1 VARCHAR(255), OUT Param2 VARCHAR(255), OUT Param3 VARCHAR(255))

BEGIN

SET @c2 = '';

SET @c3 = '';

SET @query = 'SELECT column2, column3 INTO @c2, @c3 FROM table1 WHERE column1 = ?';

PREPARE stmt FROM @query;

SET @c1 = Param1;

EXECUTE stmt USING @c1;

DEALLOCATE PREPARE stmt;

SET Param2 = @c2;

SET Param3 = @c3;

END$$

DELIMITER ;

-- Call procedure and use variables

SET @Param1 = 2;

SET @Param2 = '';

SET @Param3 = '';

CALL procedure1(@Param1, @Param2, @Param3);

SELECT @Param2, @Param3;

+---------+---------+

| @Param2 | @Param3 |

+---------+---------+

| value3 | value4 |

+---------+---------+

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值