database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 1768 게시물 읽기
No. 1768
'FETCH FIRST ~' 구문을 Oracle에서 쓸 수 있게 바꾸려면 어떻게 해야 할까요?
작성자
지구여행자
작성일
2008-12-12 09:55ⓒ
2008-12-12 11:27ⓜ
조회수
13,403

'FETCH FIRST 1 ROW ONLY OPTIMIZE FOR 1 ROW FOR READ ONLY WITH UR'란 DB2의 쿼리 구문을 동일한 기능의 Oracle 쿼리 구문으로 바꾸려고 하는데 어떻게 해야 할지 모르겠습니다. 

특히 WITH UR(또는 CS)과 같은 부분은 어떻게 바꾸어야 할까요? 


조언을 부탁드립니다.



이 글에 대한 댓글이 총 1건 있습니다.

1. with ur 

이 부분은 오라클과 DB2에 차이가 있습니다. 

DB2는 default로 CS를 사용하고 있습니다. CS의 경우 조회 대상이 변경중인 경우 commit이 완료될 때까지 lock wait를 합니다.  변경중인 데이터를 조회해도 상관없는 조회의 경우 UR 을 사용하게 되면 wait를 하지 않고 변경중인 데이터를 조회하게 됩니다. 

오라클은 rollback segment에 사용되는 데이터를 보관하기 때문에
변경중인 데이터를 조회하게 되면 변경하기 전의 데이터를 가져오게 됩니다. 그렇기 때문에 변경중인 데이터를 조회하는 것을 막기 위해서는 별도로 lock을 걸어주어야 합니다. 
-- 오라클은 제 나름대로 이해하는 부분이라 잘못된 정보일수 있습니다. 

2. fetch first 
오라클은 where절에서 조회 건수를 제한할 수 있습니다. 
ex) where rownum < 10 


조는냥이님이 2009-01-06 10:21에 작성한 댓글입니다.
이 댓글은 2009-01-06 10:45에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1777오라클의 /*+ BYPASS_UJVC */ 힌트
뱅스타
2008-12-16
11121
1776db2 쿼리 조인 질문드립니다.. [1]
Nookie
2008-12-15
10045
1775테스트테이블만들기 [1]
지나가는사람
2008-12-15
9509
1768'FETCH FIRST ~' 구문을 Oracle에서 쓸 수 있게 바꾸려면 어떻게 해야 할까요? [1]
지구여행자
2008-12-12
13403
1766안녕하세요 테이블컬럼 질문입니다 [1]
김한중
2008-12-11
9213
1764db2 에러코드 있으신분 있나요? [2]
김한중
2008-12-09
9833
1763DB2 embedded sql에 대해 문의드립니다
모래비
2008-12-05
11488
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다