gpt4 book ai didi

MySQL存储过程设置变量

转载 作者:行者123 更新时间:2023-11-29 11:31:41 26 4
gpt4 key购买 nike

我不熟悉 MySQL 中的存储过程

我想知道,例如,我是否有一个查询,然后我将其划分为变量,例如

SELECT A, B, C, FROM TABLE123 WHERE A = '123'

然后我将其划分为存储过程内的变量

SET @select = 'SELECT';
SET @column1= 'A';
SET @column2 = 'B';
SET @column3 = 'C';
SET @parameter = 'WHERE';
SET @equal = '=';

然后,我可以根据调用存储过程时设置的参数,在条件语句中使用每个部分或查询或变量。

我想知道这是否被允许作为标准做法,或者是否会导致任何性能问题。

最佳答案

我相信这类似于 Dynamic SQL

以下是 MySQL 文档中的基本操作方法基础:

PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
SET @a = 3;
SET @b = 4;
EXECUTE stmt1 USING @a, @b;
DEALLOCATE PREPARE stmt1;

+------------+
| hypotenuse |
+------------+
| 5 |
+------------+

这是一篇由 SQL Server MVP 撰写的关于 The Curse and Blessings of Dynamic SQL 的精彩文章,您可能想阅读。虽然这是针对 sql server 的,但对于 mysql 可能也有一些类似的信息。

关于MySQL存储过程设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37297210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com