2017-12-10 10 views
0

많은 테이블을 순환하면서 동일한 절차를 수행하기 위해 Postgres 함수를 작성하려고합니다. 테이블은 테이블 이름으로 선택되며 dmt_으로 시작합니다. 각 테이블에서 수행하려는 절차는 매우 간단합니다. 지난 며칠 동안 최신 레코드 수를 얻으십시오. 테이블 이름이 일치하는 테이블을 얻는 방법에 문제가 있습니다.Postgres에서 패턴과 일치하는 테이블 이름을 가진 테이블 목록을 얻는 방법

+0

[여기] (https://stackoverflow.com/q/2596670/330315) 또는 [여기] (https://stackoverflow.com/q/34679622/330315)를 참조하십시오. –

답변

1

이 경우 information_schema을 쿼리 할 수 ​​있습니다. 스키마 & 이름을 일단 plpgsql 또는 다른 절차 적 언어에서 요구하는

SELECT table_schema, table_name 
FROM information_schema.tables 
WHERE table_name ~ '^dmt_'` 

, 당신은 그 (것)들을 조작 할 수 있습니다.

+0

나는 tb에 대해 SELECT * FROM information_schema.tables WHERE table_name ~ '^ dmt_mas'loop' 내 함수에''tb'에서''행에 대한 루프의 루프 변수가 레코드 또는 행 변수 또는 스칼라 변수 목록이어야합니다. ''dmt와 비슷합니다. % '와 같은 오류 – ddd