Development Tip

선택 쿼리의 출력을 postgres의 하나의 어레이에 저장

yourdevel 2020. 12. 15. 19:52
반응형

선택 쿼리의 출력을 postgres의 하나의 어레이에 저장


내 코드는 다음과 같습니다.

SELECT column_name
FROM information.SCHEMA.columns
WHERE table_name = 'aean'

테이블의 열 이름을 반환합니다 aean.
이제 배열을 선언했습니다.

DECLARE colnames text[]

선택의 출력을 colnames 배열에 어떻게 저장할 수 있습니까?
colnames를 초기화 할 필요가 있습니까?


두 가지 방법이 있습니다. 하나는 집계하는 것입니다.

SELECT array_agg(column_name::TEXT)
FROM information.schema.columns
WHERE table_name = 'aean'

다른 하나는 배열 생성자를 사용하는 것입니다.

SELECT ARRAY(
SELECT column_name 
FROM information.schema.columns 
WHERE table_name = 'aean')

나는 이것이 plpgsql 용이라고 가정하고 있습니다. 이 경우 다음과 같이 할당 할 수 있습니다.

colnames := ARRAY(
SELECT column_name
FROM information.schema.columns
WHERE table_name='aean'
);

나는 똑같은 문제가 있었다. Denis가 제공 한 솔루션의 작업 수정 사항 하나만 더 있습니다 (유형을 지정해야 함).

SELECT ARRAY(
SELECT column_name::text
FROM information_schema.columns
WHERE table_name='aean'
)

참조 URL : https://stackoverflow.com/questions/6402043/store-select-querys-output-in-one-array-in-postgres

반응형