dblink_get_result
수집
이전에 전송 된 비동기 쿼리 결과DBLINK_SEND_QUERY
. 쿼리가있는 경우
아직 완료되지 않은dblink_get_result
그것이 될 때까지 기다릴 것입니다.
사용 연결 이름.
true (생략 된 경우 기본값). 연결의 원격 측면에서 오류가 발생합니다. 또한 현지에서 던져집니다. False 인 경우 원격 오류가 발생합니다 로컬로 통지로보고되었으며 함수는 NO를 반환합니다. 줄.
Async 쿼리 (즉, SQL 명령문 반환 행)의 경우,
함수는 쿼리에서 생성 된 행을 반환합니다. 사용합니다
이 기능은 예상되는 세트를 지정해야합니다.
이전에 논의 된대로 열dblink
.
Async 명령의 경우 (즉, 반환되지 않는 SQL 문 행), 함수는 단일 텍스트로 단일 행을 반환합니다. 명령의 상태 문자열이 포함 된 열입니다. 여전히입니다 결과에 단일 텍스트가 있음을 지정하는 데 필요합니다. 호출 열From절.
이 기능필수if 호출DBLINK_SEND_QUERY
반환 된 1. 전송 된 각 쿼리마다 한 번 호출해야합니다.
빈 세트 결과를 얻기위한 추가 시간 전에
연결을 다시 사용할 수 있습니다.
사용시DBLINK_SEND_QUERY
anddblink_get_result
, dblink전체 원격 쿼리를 가져옵니다
결과를 로컬 쿼리 프로세서로 되돌리기 전에 결과.
쿼리가 많은 행을 반환하면
로컬 세션에서 일시적인 메모리 부풀어 오릅니다. 더 좋을 수도 있습니다
와 같은 쿼리를 엽니 다.dblink_open
그런 다음 관리 가능한 번호를 가져 오십시오
한 번에 줄의. 또는 평범한 사용dblink ()
큰 결과는 디스크로 설정됩니다.
Contrib_Regression =# DBLINK_CONNECT ( 'dtest1', 'dbname = contrib_Regression'); DBLINK_CONNECT --------------- 좋아요 (1 줄) Contrib_Regression =# 선택 *에서 Contrib_Regression-# dblink_send_query ( 'dtest1', 'select * from foo where f1 <3'); T1 ---- 1 (1 줄) Contrib_Regression =# select * from dblink_get_result ( 'dtest1')에서 t1 (f1 int, f2 text, f3 text []); F1 | f2 | F3 ----+----+------------ 0 | A | A0, B0, C0 1 | B | A1, B1, C1 2 | C | A2, B2, C2