我需要在具有变量的存储函数中运行以下查询
SELECT json_unquote(json_extract(value,'$."_key"')) INTO org_rank_value FROM preferences WHERE id=_id;
此处_key和_id是声明的变量,但是_key不能用值替换,因为它用引号引起来。有什么方法可以构建和执行上述查询?
答案 0 :(得分:0)
在没有有关您的数据库结构的更多上下文的情况下,这就是我解释您问题的方式。
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