이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다토토 결과 PostgreSQL : 문서 : 17 : 젠 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

젠 토토

이름

젠 토토-커서 정의

시놉시스

젠 토토이름[바이러스] [무감각] [[아니요] 스크롤]
    젠 토토 [with |  hold]없이쿼리

설명

젠 토토사용자가 생성 할 수 있습니다 소수의 행을 검색하는 데 사용할 수있는 커서 더 큰 쿼리의 시간. 커서가 만들어지면 행이 있습니다 사용하여 가져 왔습니다fetch.

참고 :이 페이지는 커서의 사용법을 설명합니다 SQL 명령 레벨. a 내부의 커서를 사용하려는 경우pl/pgsql함수, 규칙 다릅니다 - 참조PostgreSQL : 문서.

매개 변수

이름

생성 될 커서의 이름.

binary

젠 토토가 이진에서 데이터를 반환합니다. 텍스트 형식으로.

무감각

젠 토토에서 검색된 데이터가 있어야 함을 나타냅니다 젠 토토의 기본 테이블에 대한 업데이트에 영향을받지 않습니다 젠 토토가 생성 된 후에 발생합니다. 안에PostgreSQL, 이것은 기본값입니다 행동; 그래서이 핵심 단어는 효과가 없으며 SQL 표준과의 호환성으로 허용

스크롤
스크롤 없음

스크롤커서를 사용하여 비 순위행에서 행을 검색 할 수 있습니다. 패션 (예 : 뒤로). 복잡성에 따라 쿼리의 실행 계획, 지정스크롤성과 페널티를 부과 할 수 있습니다 쿼리의 실행 시간.아니오 스크롤커서를 익숙하지 않도록 지정합니다 비 순응적인 방식으로 행을 검색하십시오. 기본값은 다음과 같습니다 경우에 따라 스크롤을 허용합니다. 이것은 동일하지 않습니다 지정스크롤. 보다노트자세한 내용.

hold
hold

with holdCursor는 거래 후에도 계속 사용할 수 있습니다. 성공적으로 만들었습니다.hold젠 토토를 지정합니다 트랜잭션 외부에서는 사용할 수 없습니다. 둘 다홀드없이NORwith Hold지정되어 있습니다.홀드없이기본값입니다.

쿼리

a스포츠 토토 : 문서 : 8.4 : select또는토토 43_96명령 이에 의해 반환 할 행을 제공 할 것입니다. 젠 토토.

키워드BINAGE, 무감각스크롤어떤 순서로든 나타날 수 있습니다.

노트

일반 젠 토토 텍스트 형식으로 데이터를 반환합니다.select생산할 것입니다. 그만큼BINAGE옵션은 커서가해야한다고 지정합니다 이진 형식의 데이터를 반환합니다. 이것은 전환 노력을 줄입니다 더 많은 프로그래머 노력 비용으로 서버와 클라이언트 모두 플랫폼 의존적 이진 데이터 형식을 다루기 위해. 로서 예, 쿼리가 정수에서 값을 반환하는 경우 열, 당신은 문자열을 얻을 것입니다1기본 젠 토토, 이진 젠 토토를 사용하면 값의 내부 표현을 포함하는 4 바이트 필드 (빅 엔디 안 바이트 순서).

이진 젠 토토를 신중하게 사용해야합니다. 많은 응용 프로그램, 포함PSQL, 준비되지 않았습니다 이진 젠 토토를 처리하고 데이터가 텍스트로 돌아올 것으로 기대합니다. 체재.

참고 :클라이언트 응용 프로그램이 사용하는 경우"확장 쿼리"발행 프로토콜 에이fetch명령, 바인드 프로토콜 메시지는 데이터를 텍스트로 검색할지 여부를 지정하거나 이진 형식. 이 선택은 커서의 방식을 무시합니다 정의됩니다. 이진 커서의 개념은 확장 쿼리 프로토콜을 사용할 때 쓸모 없음 - 모든 커서는 텍스트 또는 이진으로 취급됩니다.

with Hold지정되어 있습니다 이 명령에 의해 생성 된 젠 토토는 현재 거래. 따라서,젠 토토없음with Hold외부에서는 쓸모가 없습니다 트랜잭션 블록 : 젠 토토는 만 살아남을 것입니다 진술의 완성. 그러므로postgresql그러한 경우 오류를보고합니다 명령은 트랜잭션 블록 외부에서 사용됩니다. 사용PostgreSQL : 문서 : 8.4 : 토토 사이트 순위and커밋(또는롤백) 거래를 정의하려면 차단하다.

ifwith Hold지정되어 있습니다 젠 토토를 생성 한 트랜잭션은 성공적으로 저지른 것입니다 Cursor는 후속 거래로 계속 액세스 할 수 있습니다. 같은 세션. (그러나 거래 생성이 중단되면 젠 토토가 제거됩니다.)로 만든 젠 토토with Hold명시 적으로 닫혀닫기명령이 발행되거나 세션이 발행됩니다 끝. 현재 구현에서, 행은 a로 표시됩니다 Hold Cursor는 임시 파일 또는 메모리 영역으로 복사됩니다. 후속 거래에 사용할 수 있습니다.

with Hold언제 쿼리에는업데이트또는공유.

the스크롤옵션을 지정해야합니다 뒤로 가져 오는 데 사용될 커서를 정의 할 때. 이것 SQL 표준에 의해 요구됩니다. 그러나 호환성 이전 버전,PostgreSQL없이 뒤로 페치를 허용합니다스크롤, 커서의 쿼리 계획이 간단한 경우 이를 지원하기 위해 여분의 오버 헤드가 필요하지 않을 정도로 충분합니다. 하지만, 응용 프로그램 개발자는 뒤로 사용하지 않는 것이 좋습니다. |스크롤. 만약에스크롤 없음IS 지정된 다음, 어떤 경우에도 뒤로 페치가 허용되지 않습니다.

쿼리에 포함될 때 후진 페치도 허용되지 않습니다업데이트또는공유하다; 그러므로스크롤그렇지 않을 수 있습니다 이 경우 지정됩니다.

주의

스크롤 가능 및with Hold젠 토토는 호출하면 예상치 못한 결과를 줄 수 있습니다 휘발성 함수 (참조섹션 34.6). 언제 a 이전에 가져온 행이 다시 가져 오면 기능이 가능합니다 다시 실행되며 아마도 결과와 다른 결과로 이어질 수 있습니다 처음. 그러한 경우에 대한 한 가지 해결 방법은 다음과 같습니다 커서 젠 토토with hold및 행을 읽기 전에 거래를 커밋하십시오. 이것은 커서의 전체 출력이 휘발성이 있으므로 임시 저장소로 구체화됩니다 함수는 각 행에 대해 정확히 한 번 실행됩니다.

커서의 쿼리에 포함 된 경우업데이트또는공유그들이 처음 가져올 때 행은 똑같이 정기적 인 방법select이 옵션을 사용하여 명령하십시오. ~ 안에 또한 반환 된 행은 최신 버전이됩니다. 따라서 이러한 옵션은 SQL과 동일하게 표준 호출 A"민감한 젠 토토". (지정무감각함께업데이트또는공유하다오류입니다.)

주의

일반적으로 사용하는 것이 좋습니다업데이트커서가 의도 된 경우 와 함께업데이트 ... 현재 위치 의또는삭제 ... 현재 위치 의. 사용업데이트다른 세션이 행을 변경하는 것을 방지합니다 그들이 가져온 시간과 업데이트 된 시간. 없이업데이트, 후속전류의 위치명령 젠 토토 이후 행이 변경되면 효과가 없습니다. 만들어졌습니다.

사용해야 할 또 다른 이유for 업데이트그없이 후속현재의 전류커서이면 실패 할 수 있습니다 쿼리는 SQL 표준의 규칙을 충족하지 않습니다"간단히 업데이트 가능"(in 특히, 젠 토토는 단 하나의 테이블 만 참조해야합니다 그룹화를 사용하지 않거나주문 by). 단순히 업데이트 할 수없는 커서는 작동 할 수 있습니다 계획 선택 세부 사항에 따라 다르지 않을 수 있습니다. 그래서 최악의 경우, 응용 프로그램은 테스트에서 작동 할 수 있습니다. 생산에 실패.

사용하지 않는 주된 이유업데이트with현재 위치 의스크롤 가능 또는 후속 업데이트에 민감하지 않습니다 (즉, 이전 데이터를 계속 표시하십시오). 이것이 요구 사항이라면 위에 표시된 경고에 가까운주의를 기울이십시오.

SQL 표준은 임베디드의 젠 토토에 대한 조항 만 제공SQL. 그만큼postgresql서버가 구현되지 않습니다Open커서에 대한 진술; 커서입니다 젠 토토 될 때 열려있는 것으로 간주됩니다. 하지만,ECPG, 임베디드 SQL 사전 처리기를위한postgresql, 관련된 표준 SQL 커서 규칙젠 토토andOpen진술.

쿼리를 통해 사용 가능한 모든 커서를 볼 수 있습니다pg_cursors시스템보기

예제

커서를 젠 토토하려면 :

영화에서 Liahona 커서 젠 토토 * From Films;

참조PostgreSQL : 문서 : 8.4 : 범퍼카 토토더 많은 젠 토토 사용의 예.

호환성

SQL 표준은 그것이 구현 의존적이라고 말합니다 커서가 동시 업데이트에 민감한 지 여부 기본적으로 기본 데이터. 안에PostgreSQL, 젠 토토는 둔감합니다 기본값, 지정하여 민감하게 만들 수 있습니다업데이트. 다른 제품이 작동 할 수 있습니다 다르게.

SQL 표준은 내장 된 상태에서만 커서를 허용합니다SQL및 모듈.PostgreSQL젠 토토를 허용합니다 대화식으로 사용됩니다.

이진 젠 토토는입니다.PostgreSQL확장.