source

postgresql 9.3에서 JSON 어레이를 루프하는 방법

manycodes 2023. 2. 22. 22:48
반응형

postgresql 9.3에서 JSON 어레이를 루프하는 방법

새 우편함수를 쓰고 있습니다.SQL DB와 저는 중첩된 구조를 루프하려고 합니다.

새로운 JSON 기능으로 그게 가능하긴 한가요?제가 하려는 일은 다음과 같습니다.

DO
$BODY$
DECLARE
    omgjson json := '[{ "type": false }, { "type": "photo" }, {"type": "comment" }]';
    i record;
BEGIN
  FOR i IN SELECT * FROM json_array_elements(omgjson)
  LOOP
    RAISE NOTICE 'output from space %', i;
  END LOOP;
END;
$BODY$ language plpgsql

JSON이 아닌 레코드 세트(텍스트!)를 반환하므로 다음과 같이 쿼리할 수 없습니다.i->>'type'하지만 그게 바로 내가 이루고 싶은 거야

조금 바보 같았지만, postgresql 웹사이트의 이 json 기능에 대한 문서는 사실 미미합니다.

문제를 해결하기 위해 내가 한 일은

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

언급URL : https://stackoverflow.com/questions/20272650/how-to-loop-over-json-arrays-in-postgresql-9-3

반응형