如何放置“ EXECUTE语句;”将结果转换为变量,以便在需要时可以使用简单的SELECT命令获得结果。结果将包含基于用户输入的随机列数。 所以,我想要的是这样的:
SET @RES := EXECUTE stmt;
然后我可以申请-
SELECT @RES;
再三考虑,我希望得到结果-
WITH res_set1 AS (
EXECUTE stmt;
)
SELECT * FROM res_set1;
谢谢。
答案 0 :(得分:0)
您应该在准备好的语句中使用变量。
您将必须构造准备好的语句,这样它才能一次给您一行,例如:
SET @sql='SELECT col1, col2 FROM test WHERE id=3 INTO @v1, @v2';
PREPARE stmt FROM @sql;
EXECUTE stmt;
执行后,您将在变量col1
和col2
中拥有@v1
和@v2
中的值
要处理多行,请循环使用准备好的语句:
SET @sql='SELECT col1, col2 FROM test WHERE id=? INTO @v1, @v2';
PREPARE stmt FROM @sql;
SET @idx = 1;
REPEAT
EXECUTE stmt USING @idx;
SET @idx = @idx + 1;
UNTIL @idx > 6 END REPEAT;