

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# FETCH
<a name="fetch"></a>

커서를 사용하여 행을 가져옵니다. 커서 선언에 대한 자세한 내용은 [DECLARE](declare.md) 섹션을 참조하세요.

FETCH는 커서 내에서 현재 위치를 기준으로 행을 가져옵니다. 생성되는 커서는 첫 번째 행 앞에 배치됩니다. FETCH 후, 커서는 마지막으로 가져온 행에 배치됩니다. FETCH ALL을 실행한 후와 같이, 사용 가능한 행의 끝에서 FETCH 실행이 끝나는 경우 커서는 마지막 행 다음에 배치된 상태로 남습니다.

FORWARD 0은 커서를 이동하지 않고 현재 행을 가져옵니다. 즉, 가장 최근에 가져온 행을 가져옵니다. 커서가 첫 번째 행 앞이나 마지막 행 뒤에 있는 경우에는 아무런 행도 반환되지 않습니다.

커서의 첫 행을 가져올 때, 필요한 경우 메모리나 디스크에서 리더 노드에 전체 결과 집합이 구체화됩니다. 큰 결과 집합을 가진 커서를 사용하면 성능에 나쁜 영향을 미칠 가능성이 있으므로, 가급적이면 다른 접근 방식을 사용하는 것이 좋습니다. 자세한 내용은 [커서 사용 시 성능 고려사항](declare.md#declare-performance) 섹션을 참조하세요.

자세한 내용은 [DECLARE](declare.md), [CLOSE](close.md) 섹션을 참조하세요.

## 구문
<a name="fetch-synopsis"></a>

```
FETCH [ NEXT | ALL | {FORWARD [ count | ALL ] } ] FROM cursor
```

## 파라미터
<a name="fetch-parameters"></a>

next  
다음 행을 가져옵니다. 이 값이 기본값입니다.

ALL  
나머지 행을 전부 가져옵니다. (FORWARD ALL과 동일합니다.) ALL은 단일 노드 클러스터에 대해 지원되지 않습니다.

FORWARD [ *count* \$1 ALL ]   
다음 *count*개의 행 또는 나머지 행 전부를 가져옵니다. `FORWARD 0`은 현재 행을 가져옵니다. 단일 노드 클러스터의 경우 count의 최댓값은 `1000`입니다. 단일 노드 클러스터에서는 FORWARD ALL이 지원되지 않습니다.

*cursor*   
새 커서의 이름입니다.

## FETCH 예
<a name="fetch-example"></a>

다음 예에서는 LOLLAPALOOZA로 명명된 커서를 선언하여 롤라팔루자(LOLLAPALOOZA) 행사를 위한 판매 정보를 선택한 후 커서를 사용하여 결과 집합에서 행을 가져옵니다.

```
-- Begin a transaction

begin;

-- Declare a cursor

declare lollapalooza cursor for
select eventname, starttime, pricepaid/qtysold as costperticket, qtysold
from sales, event
where sales.eventid = event.eventid
and eventname='Lollapalooza';

-- Fetch the first 5 rows in the cursor lollapalooza:

fetch forward 5 from lollapalooza;

  eventname   |      starttime      | costperticket | qtysold
--------------+---------------------+---------------+---------
 Lollapalooza | 2008-05-01 19:00:00 |   92.00000000 |       3
 Lollapalooza | 2008-11-15 15:00:00 |  222.00000000 |       2
 Lollapalooza | 2008-04-17 15:00:00 |  239.00000000 |       3
 Lollapalooza | 2008-04-17 15:00:00 |  239.00000000 |       4
 Lollapalooza | 2008-04-17 15:00:00 |  239.00000000 |       1
(5 rows)

-- Fetch the next row:

fetch next from lollapalooza;

  eventname   |      starttime      | costperticket | qtysold
--------------+---------------------+---------------+---------
 Lollapalooza | 2008-10-06 14:00:00 |  114.00000000 |       2

-- Close the cursor and end the transaction:

close lollapalooza;
commit;
```