如何在PostgreSQL过程中从jsonb数组中获取第一个元素

mxg2im7a  于 2022-11-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(625)

在一个过程内需要获取jsonb数组的第一个元素;
SELECT jsnArrayData[0] INTO jsnItem;
这是我的完整程序

CREATE OR REPLACE PROCEDURE sp_update_set_document_code(jsnArrayData JSONB[]) AS $$
    DECLARE
        jsnItem JSONB;
    BEGIN
        SELECT jsnArrayData[0] INTO jsnItem;

        -- Logic here

        RETURN;

    END;
$$ LANGUAGE plpgsql;

已尝试jsnArrayData[0],jsnArrayData-〉〉0,JSONB路径查询第一个(arjSetDocumentCode,'$[*]')

ubbxdtey

ubbxdtey1#

jsnarraydata是JSON的数组,而不是“JSON数组”,所以需要遵循访问Postgres数组元素的规则,而不是JSON数组的规则。

jsnitem := jsnarraydata[0];

这将选择参数的第一个数组元素并将其赋给变量。如果你需要处理jsnitem中的值,这是一个完全不同的问题(考虑到你的问题缺乏细节,无法真正回答)

相关问题