0
부모 레코드 및 하위 레코드를 추가하는 함수를 작성하고 있습니다.PostgreSQL : 부모 및 자식 레코드를 추가하는 함수
필자가 알고있는 한, 적절한 데이터 유형을 만들어야하는데,이를 단순화했습니다.
create type parenttype as (
data varchar -- data
);
create type childtype as (
parent integer, -- foreign key
details varchar -- data
);
이 항목은 아무 것도 추가하지 않는 숫자 입력란을 생략하고 단순화 된 버전입니다. 그러나 둘 다 생성 될 기본 키를 생략합니다.
나는 함수가 다음과 같은 형태를 취할 것이라고 생각 : 거기 도착하면
function adddata(parentdata parenttype, childdata childtype[])
-- etc
-- LANGUAGE plpgsql
나는 내부의 데이터로 무엇을 어떻게 해야할지 생각 .
질문은 함수를 호출하기 전에 데이터를 설정하는 방법입니다. 즉, parenttype
및 배열 childtype
에 대한 값을 설정하는 방법은 무엇입니까?
관련 질문에 MS SQL Server를 요청했지만 다른 방법이 필요하다는 것을 알고 있습니다.
당신이 명확히 수'array_agg'? 그런 식으로 2 줄을 추가 할 수 있을까요? 또한 두 번째 예제에서'SELECT' 절 다음에 추가 조항이 실제로 필요합니까? – Manngo
'array_agg'는 매개 변수로 전달하는 요소의 배열을 반환합니다. 이 경우 하위 유형의 행 배열이됩니다. 추가 조항은 무엇을 의미합니까? 두 번째 예는 테이블의 데이터에서 함수에 대한 매개 변수를 작성하는 것입니다. –