FETCH — 커서를 사용하여 쿼리에서 행 검색
토토 캔 [방향] [ 보낸 사람 | 에 ]cursor_name어디에서방향다음 중 하나일 수 있습니다.다음 이전 첫 번째 마지막 절대개수상대개수개수전체 앞으로 앞으로개수모두 전달 뒤로 뒤로개수뒤로 모두
토토 캔이전에 생성된 커서를 사용하여 행을 검색합니다.
커서에는 다음에 의해 사용되는 관련 위치가 있습니다.토토 캔. 커서 위치는 쿼리 결과의 첫 번째 행 앞, 결과의 특정 행 또는 결과의 마지막 행 뒤일 수 있습니다. 생성되면 첫 번째 행 앞에 커서가 위치합니다. 일부 행을 가져온 후 커서는 가장 최근에 검색된 행에 위치합니다. 만일토토 캔사용 가능한 행의 끝에서 실행되고 커서는 마지막 행 뒤 또는 뒤로 가져오는 경우 첫 번째 행 앞에 위치하게 됩니다.모두 토토 캔또는모두 뒤로 토토 캔항상 마지막 행 뒤 또는 첫 번째 행 앞에 커서를 둡니다.
양식다음, 이전, 첫 번째, 마지막, 절대, 상대적커서를 적절하게 이동한 후 단일 행을 가져옵니다. 그러한 행이 없으면 빈 결과가 반환되고 커서는 적절하게 첫 번째 행 앞이나 마지막 행 뒤에 위치하게 됩니다.
다음을 사용하는 양식앞으로그리고뒤로커서를 마지막으로 반환된 행(또는 모든 행 뒤/앞에 있는 경우)에 두고 앞으로 또는 뒤로 이동하여 표시된 수의 행을 검색합니다.개수사용 가능한 행 수를 초과했습니다.)
상대 0, 앞으로 0및뒤로 0모든 요청은 커서를 이동하지 않고 현재 행을 가져오는 것입니다. 즉, 가장 최근에 가져온 행을 다시 가져오는 것입니다. 커서가 첫 번째 행 앞이나 마지막 행 뒤에 위치하지 않는 한 성공합니다. 이 경우 행이 반환되지 않습니다.
이 페이지는 SQL 명령 수준에서 커서의 사용법을 설명합니다. a 내부에서 커서를 사용하려는 경우PL/pgSQL함수, 규칙이 다릅니다 — 참조섹션 41.7.3.
방향방향가져올 방향과 가져올 행 수를 정의합니다. 다음 중 하나일 수 있습니다.
다음다음 행을 가져옵니다. 다음의 경우 기본값입니다.방향생략되었습니다.
이전이전 행을 가져옵니다.
첫 번째쿼리의 첫 번째 행을 가져옵니다(동일절대 1).
마지막쿼리의 마지막 행을 가져옵니다(동일절대 -1).
절대개수토토 캔개수'쿼리의 번째 행 또는복근(끝에서 번째 행 if개수)개수음수입니다. 첫 번째 행 앞이나 마지막 행 뒤의 위치개수범위를 벗어났습니다. 특히,절대 0첫 번째 행 앞에 위치합니다.
상대적개수토토 캔개수'번째 후속 행 또는복근('번째 이전 행 if개수)개수부정적입니다.상대 0현재 행이 있으면 다시 가져옵니다.
개수다음 토토 캔개수행(동일앞으로).개수
전체나머지 모든 행을 가져옵니다(동일모두 전달).
앞으로다음 행을 가져옵니다(동일다음).
앞으로개수다음 토토 캔개수행.앞으로 0현재 행을 다시 가져옵니다.
모두 전달나머지 행을 모두 가져옵니다.
뒤로이전 행을 가져옵니다(동일이전).
뒤로개수이전 항목 토토 캔개수행(뒤로 스캔).뒤로 0현재 행을 다시 가져옵니다.
뒤로 모두이전 행을 모두 가져옵니다(뒤로 스캔).
개수개수는 가져올 수 있는 행의 위치 또는 수를 결정하는 부호 있는 정수 상수입니다. 에 대한앞으로그리고뒤로사례, 부정 지정개수의 의미를 바꾸는 것과 같습니다앞으로그리고뒤로.
cursor_name열린 커서의 이름.
성공적으로 완료되면, a토토 캔명령은 다음 형식의 명령 태그를 반환합니다.
토토 캔개수
그개수은 가져온 행 수입니다(0일 수도 있음). 참고하세요psql, 명령 태그는 실제로 표시되지 않습니다. 왜냐하면psql대신 가져온 행을 표시합니다.
커서는 다음으로 선언되어야 합니다.스크롤변형을 사용하려는 경우 옵션토토 캔이외다음 토토 캔또는앞으로 토토 캔양수입니다. 간단한 문의사항의 경우포스트그레SQL다음으로 선언되지 않은 커서에서 역방향 토토 캔를 허용합니다스크롤, 하지만 이 동작은 의존하지 않는 것이 가장 좋습니다. 커서가로 선언된 경우스크롤 없음, 역방향 토토 캔는 허용되지 않습니다.
절대토토 캔는 상대 이동을 통해 원하는 행으로 이동하는 것보다 빠르지 않습니다. 어쨌든 기본 구현은 모든 중간 행을 순회해야 합니다. 음수 절대 토토 캔는 훨씬 더 나쁩니다. 마지막 행을 찾으려면 쿼리를 끝까지 읽어야 하고 거기서부터 뒤로 순회해야 합니다. 그러나 쿼리 시작 부분으로 되감기(다음과 같이)절대값 토토 캔 0)은 빠릅니다.
다음 예는 커서를 사용하여 테이블을 탐색합니다.
작업 시작; -- 커서를 설정합니다: 리아호나 선택을 위한 스크롤 커서 선언 * 영화에서; -- 커서 liahona의 처음 5개 행을 가져옵니다. 리아호나에서 5개를 앞으로 가져오세요. 코드 | 제목 | 그랬어 | 날짜_생산 | 종류 | 렌 -------+------------+------+------------+------------+------- BL101 | 세 번째 남자 | 101 | 1949-12-23 | 드라마 | 01:44 BL102 | 아프리카 여왕 | 101 | 1951-08-11 | 로맨틱 | 01:43 JL201 | Une Femme est une Femme | 102 | 1961-03-12 | 로맨틱 | 01:25 P_301 | 현기증 | 103 | 1958-11-14 | 액션 | 02:08 P_302 | 베켓 | 103 | 1964-02-03 | 드라마 | 02:28 -- 이전 행을 가져옵니다. 리아호나보다 먼저 가져오십시오. 코드 | 제목 | 그랬어 | 날짜_생산 | 종류 | 렌 ------+---------+------+------------+---------+------- P_301 | 현기증 | 103 | 1958-11-14 | 액션 | 02:08 -- 커서를 닫고 트랜잭션을 종료합니다. 닫기 리아호나; 작업 커밋;
SQL 표준이 정의함토토 캔Embedded SQL에서만 사용됩니다. 의 변형토토 캔여기에 설명된 데이터는 마치 a인 것처럼 반환됩니다.선택호스트 변수에 배치하는 대신 결과를 반환합니다. 이 점 외에는,토토 캔SQL 표준과 완전히 상위 호환됩니다.
그토토 캔관련 양식앞으로그리고뒤로및 양식토토 캔그리고개수모두 토토 캔, 거기에앞으로암시적입니다.토토 캔확장.
SQL 표준에서는 다음만 허용합니다.발신커서 이름 앞에; 사용할 옵션IN또는 모두 제외하는 것은 확장입니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.