mysql - MYSQL存储函数中的SELECT查询

标签 mysql stored-procedures stored-functions

我需要在我的存储函数中使用变量运行以下查询

SELECT json_unquote(json_extract(value,'$."_key"')) INTO org_rank_value FROM preferences WHERE id=_id;

这里 _key 和 _id 是声明的变量,但 _key 不会被值替换,因为它在引号中。有什么方法可以构建并执行上述查询吗?

最佳答案

没有更多关于您的数据库结构的上下文,这就是我解释您的问题的方式。

1) 您想要选择一个特定的 ID。

2) 您想要根据 ID 更改 json 字段中的参数。

3) 您要执行查询。

DECLARE @json NVARCHAR(MAX) = (SELECT org_rank_value FROM preferences WHERE id=_id)
SELECT * FROM OPENJSON(@json) 
WITH (  
    yourKey varchar(200) '$.key' -- change to whatever your variables are. 
 )  AS changeKey;
UPDATE preferences SET json_unquote(json_extract(value,'$."_key"')) INTO org_rank_value WHERE id=_id;

在MySQL中,你可以使用 JSON_ARRAY_APPEND

关于mysql - MYSQL存储函数中的SELECT查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961526/

相关文章:

php - 将聊天记录存储在单个数据库表中

mysql - 计算几列的平均值并按 group_id 分组

mysql - 字段列表错误 - 未知列

sql - 当存储过程结束时,即使嵌套在另一个 SP 中,是否会释放通过 "select for update"获得的锁?

具有可选参数的 Postgresql 函数

mysql如何连接/append 二进制数据类型

php - 将数组传递到 PDO

mysql - 远程连接到 openshift 数据库

MySql 存储过程 else if 和多查询

python - 如何从 python 在 mysql 中创建存储过程?