在mysql存储函数中选择查询

jobtbby3  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(301)

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

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

这里,key和id是声明的变量,但是key不被value替换,因为它在引号中。有没有办法建立和执行上面的查询?

pxiryf3j

pxiryf3j1#

没有更多关于数据库结构的上下文,我就是这样解释你的问题的。
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\u array\u append

相关问题