Leo*_*Leo 2 mysql execute prepare
我想在过程中进一步使用从选择中获取的值,然后执行,但不知道如何执行。
作为测试,我编写了以下内容,但无法将v_1,v_2或v_3变量用于进一步的逻辑,因为它们不像我期望的那样接受值1,2和3。
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 ;
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
谢谢,狮子座
尝试将“ SELECT 1,2更改为v_1,v_2”
'SELECT @v_1:=1, @v_2:=2'
Run Code Online (Sandbox Code Playgroud)
或至少确保在引用变量时使用@。有关更多信息,请参见此线程: MySQL DECLARE中的SELECT INTO变量会导致语法错误?
| 归档时间: |
|
| 查看次数: |
13846 次 |
| 最近记录: |