plpgsql 编程 - JSON数组循环

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

标签

PostgreSQL , plpgsql , json , jsonb , array , 数组


背景

PostgreSQL的plpgsql编程语言和Oracle PL/SQL编程语言类似,是功能很强大的数据库编程语言。

JSON是PG支持的非结构化类型,那么如何在PLPGSQL中LOOP JSON数组呢?

https://www.postgresql.org/docs/9.6/static/plpgsql-control-structures.html#PLPGSQL-FOREACH-ARRAY

例子

例子1

postgres=# do language plpgsql $$  
declare  
  rec jsonb;  
begin  
  for rec in select jsonb_array_elements('[{"lat":30.27699965,"lng":120.02319424},{"lat":30.27700545,"lng":120.02321551}]')                     
  loop  
    raise notice '%', rec;  
  end loop;  
end;  
$$;  
NOTICE:  {"lat": 30.27699965, "lng": 120.02319424}  
NOTICE:  {"lat": 30.27700545, "lng": 120.02321551}  
DO  

例子2

DO  
$BODY$  
DECLARE  
    omgjson json := '[{ "type": false }, { "type": "photo" }, {"type": "comment" }]';  
    i json;  
BEGIN  
  FOR i IN SELECT * FROM json_array_elements(omgjson)  
  LOOP  
    RAISE NOTICE 'output from space %', i->>'type';  
  END LOOP;  
END;  
$BODY$ language plpgsql  
相关文章
|
5天前
|
存储 JSON 前端开发
JSON数组的概念、语法和用法
JSON数组的概念、语法和用法
222 3
|
5天前
|
JSON JavaScript 前端开发
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
前端 ex2json 用于 vue/react/js 将 xls、xlsx、csv 文件转成 json 数组
97 0
|
6月前
|
JSON 前端开发 Java
Springboot接收ajax提交JSON数组
Springboot接收ajax提交JSON数组
|
5天前
|
存储 JSON DataWorks
DataWorks产品使用合集之DataWorks将 MongoDB 中的数组类型写入到 DataWorks 的单个字段时,表示为字符串格式而非 JSON 格式如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
26 3
|
5天前
|
SQL JSON Apache
Flink问题之嵌套 json 中string 数组的解析异常如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
230 1
|
8月前
|
JSON JavaScript 前端开发
Python中如何快速解析JSON对象数组
Python中如何快速解析JSON对象数组
100 0
|
8月前
|
存储 JSON JavaScript
|
5天前
|
JSON PHP 数据格式
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
php 删掉空的数组 json数据. 空数据(false 0 ““ null)
|
5天前
|
JSON 前端开发 数据库
怎么处理多层Json数据循环遍历的问题?看这里
怎么处理多层Json数据循环遍历的问题?看这里
24 0
|
5天前
|
XML JSON 前端开发
教你怎么用ajax传数组(也可以是转为json)
教你怎么用ajax传数组(也可以是转为json)
36 0