커서를 열어 본 후 커밋을 사용해야하는지 여부는 누구나 제안 할 수 있습니까?오라클에 커서를 놓은 후에 커밋하십시오.
답변
대부분의 경우 관련이 없습니다.
커서는 데이터를 검색하기위한 구성입니다. 일단 레코드가 읽혀지면 커서가 닫혀있을 때 커서가 닫히는 것이 중요하지 않습니다.
COMMIT는 트랜잭션이 완료되었을 때 완료되기 전에 발행되어야합니다.
두 가지 동작의 순서가 중요한 경우는 CURSOR FOR 루프를 실행할 때입니다. 커서를 열거 나 닫을 때 COMMIT가이 루프 외부에서 발생하는 것이 매우 중요합니다. 그렇지 않으면 읽기 일관성에 문제가 발생할 수 있습니다. 몇 가지 복잡한 이유로 루프 내부에서 커밋해야한다고 주장 할 사람들이 있지만, 거의 항상 오해가 있습니다.
이 마지막 사례의 중요성을 과대 평가해서는 안됩니다. 대부분의 트랜잭션은 PL/SQL 커서 내에서 DML보다는 SQL을 사용해야하므로 거의 적용되지 않습니다.
+1 커밋을 사용할 적절한 시간과 "두려워한"증분 커밋을 피하는 데 대한 설명이 필요합니다. –
"일관성 문제 읽기"가 "스냅 샷이 너무 오래됨"문제 또는 다른 것입니까? – jva
글쎄, 그것은 당신이 성취하고자하는 것에 달려 있습니다. 때로는 그렇게하고 싶을 때가 있습니다. 때때로 그렇지 않습니다. 성취하고자하는 것을 구체적으로 기술 할 수 있습니까?
커서가 FOR UPDATE를 사용하여 레코드를 잠그면 모든 잠금이 커밋에 의해 해제됩니다. 사실, 모든 잠금은 커밋에 의해 해제됩니다.
또한 "ORA-01555 스냅 샷이 너무 오래되었습니다."오류는 "전체 커밋을 통해 가져 오기"- this AskTom thread을 참조하십시오.
- 1. JavaScript로 텍스트 영역에 커서를 놓은 상태에서 텍스트 삽입하기
- 2. Begin ... 50 행마다 커밋하십시오.
- 3. 모든 파일을 커밋하십시오.
- 4. 다음 TableViewController 개체를 커밋하십시오.
- 5. 모든 파일을 다시 커밋하십시오.
- 6. SVN - 일부 변경 만 커밋하십시오.
- 7. 오라클에 가입하여 유니크가 필요합니다.
- 8. 오라클에 데이터 삽입
- 9. F #에서 오라클에 연결
- 10. 오라클에 유형을 생성하는 방법
- 11. 오라클에 대한 JDBC 쿼리
- 12. 오라클에 상응하는 mysqldump가 있습니까?
- 13. 오라클에 시간 저장하기
- 14. 오라클에 XML을 만드는 방법
- 15. 오라클에 테이블 가져 오기
- 16. PHP가 오라클에 연결을 종료합니다
- 17. 오라클에 SQL 쿼리를 변환
- 18. 걸어 놓은 webistrano 배치를 취소하십시오
- 19. Excel에서 열어 놓은 이미지를 임베드했습니다.
- 20. NSTableview에 파일을 놓은 QTMovie를 초기화하십시오.
- 21. Subversion : 수정 된 파일 만 커밋하십시오.
- 22. 사용자가 x 초 동안 요소 위에 마우스를 놓은 후에 함수를 트리거하는 방법은 무엇입니까?
- 23. 오라클에 dbf 파일 가져 오기
- 24. 오라클에 일반 프로 시저 작성
- 25. Qt - 커서를 모래 시계로 바꾸고 커서를 비활성화하십시오.
- 26. 다른 요소 위에 놓은 요소 찾기
- 27. 버튼을 놓은 후 CSS가 아래로 가게됩니다.
- 28. 놓은 뒤 드롭 이미지 편집기 자바 스크립트
- 29. 나중에 BMP를 검색하지 않고 오라클에 이미지 저장
- 30. 오라클에 테이블이 존재하는지 확인하는 방법은 무엇입니까?
어떤 상황에서? 너 뭐하려고? –
만약 루프를위한 커서가 있고 내부에서 커밋을 사용한다면 cons/prons가 될 수 있습니다. –