2016-10-31 18 views
0

, 나는 마지막 쿼리에 의해 삽입 된 행의 수를 캡처 할 다음 쿼리를 사용하고 있습니다 Redshift는 다음 쿼리를 실행하기 때문에 IDENTITY 열을 반환합니다. SELECT * FROM stv_identity_highwater 및 pg_last_query_id()에 대해이 쿼리의 ID를 사용합니다.ID 열이 포함 된 Redshift 테이블에 삽입 된 행 수를 어떻게 캡처합니까? 내가이 포함 된 테이블에 삽입 할 때</p> <pre><code>SELECT SUM(rows) FROM stl_insert WHERE query = pg_last_query_id(); </code></pre> <p>그것은이 방법이 작동하지 않는 것 같다 : 아마존 Redshift에에서

이 시나리오에 삽입 된 행 수를 캡처하는 다른 방법이 있습니까?

답변

2

ID 열이있는 테이블에 값을 삽입 할 경우 Redshift는 쿼리 결과가 이므로 내부적으로 SELECT * FROM stv_identity_highwater으로 쿼리를 실행합니다.

SELECT SUM(rows) FROM stl_insert WHERE query = pg_last_query_id()-1;

문제는 내가 시스템의 사용자 만이 아니에요이다
+0

안녕하세요, 코드 블록에서 SQL 쿼리를 포맷 해 주시겠습니까? 그렇게하면 읽는 것이 더 즐겁습니다. – Arount

1

STL_QUERY 시스템 테이블을 사용하여 계산할 쿼리의 ID를 추출 할 수 있습니다.

시스템의 유일한 사용자 인 경우 두 번째 마지막 쿼리가 사용자가 원하는 쿼리라고 가정 할 수 있습니다.

+0

가 ... –

+0

당신은 당신의 사용자를 일치하는 가장 최근의 STL_QUERY 항목을 찾을 수 :

삽입 수를 얻을 수 pg_last_query_id()-1 추가 신분증. –