MySQL选择成变量 [英] MySQL Select into variable
问题描述
我想在过程中进一步使用从选择中获得的值,然后执行,但不知道如何执行.
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屋!