DBLINK_GET_RESULT - 비동기 쿼리 결과를 가져옵니다
DBLINK_GET_RESULT (Text Connname [, BOOL FAIL_ON_ERROR]) 레코드를 반환
dblink_get_result
이전에 전송 된 비동기 쿼리의 결과를 수집DBLINK_SEND_QUERY
. 쿼리가 아직 완료되지 않은 경우dblink_get_result
그것이 될 때까지 기다릴 것입니다.
Connname
사용 연결 이름.
FAIL_ON_ERROR
true (생략 된 경우 기본값) 연결의 원격 측면에 오류가 발생하면 오류가 로컬로 던져집니다. False 인 경우 원격 오류는 통지로 로컬로보고되며 함수는 행이 없습니다.
Async Query (즉, 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
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면