MySQL选择成变量 [英] MySQL Select into variable

查看:72
本文介绍了MySQL选择成变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在过程中进一步使用从选择中获得的值,然后执行,但不知道如何执行.

I want to further use in the procedure the values I get from a select into execution but can't figure out how to do it.

作为测试,我编写了以下内容,但不能将v_1,v_2或v_3变量用于进一步的逻辑,因为它们不采用值1,2&.正如我所期望的3 ...

As a test I wrote the following but cannot use the v_1, v_2 or v_3 variables for further logic as they don't take the values 1,2 & 3 as i expected...

DROP PROCEDURE IF EXISTS MPT_testing; DELIMITER //  CREATE PROCEDURE MPT_testing() READS SQL DATA BEGIN

  DECLARE v_1 INT;   DECLARE v_2 INT;   DECLARE v_3 INT;
     SET @sql=CONCAT('SELECT 1,2 into v_1, v_2');   PREPARE s1 FROM @sql;   EXECUTE s1;   DEALLOCATE PREPARE s1;

  SET v_3 = v_1 + v_2;

  SELECT v_3;

END //

DELIMITER ;

有人可以在这里帮忙吗?

Can somebody help here please?

谢谢, 狮子座

推荐答案

尝试将"SELECT 1,2更改为v_1,v_2"至

Try changing 'SELECT 1,2 into v_1, v_2' to

'SELECT @v_1:=1, @v_2:=2'

或至少确保在引用变量时使用@.有关更多信息,请参见此线程: 在MySQL DECLARE中选择INTO变量会导致语法错误?

or at least make sure you use @ whenever referencing your vars. see this thread for more info: SELECT INTO Variable in MySQL DECLARE causes syntax error?

这篇关于MySQL选择成变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆