/*
짙은색이 오라클 페이징 처리를 위해 추가한 구문이고.
가운데 3라인이 MySql에서 사용된 구문이다. */ SELECT * FROM ( SELECT ROWNUM ASRNUM, S.* FROM ( SELECTA.AA, B.BB, C.NAME AS C_NAME// <- 이넘이 고생한 부분을 해결한 부분이다.. FROM DB명.TABLE_AA, DB명.TABLE_BB, DB명.TABLE_CC WHERE A.ID=B.ID AND C.NAME=A.NAME// <- 여기다가 검색혹은 정렬 명령 하세용 ) S
ORDER BY ROWNUM DESC ) WHERE RNUM BETWEEN '게시물 시작번호'AND '게시물 종료번호'ORDER BY RNUMASC
[#M_more..|less..|Musql의 LIMIT '게시물 시작번호' AND '페이지 수(한 페이지에 보여질 게시물수)' Oracle에 Select 2개의 구문이 Mysql Query를 감싸서 처리하고 있는 것이다.
_M#] > 3개의 테이블을 참조하는 쿼리문이다. 각자 게시판 성격에 맞게 요리를 해봅시당~ .. 주앙의 셀렉트 문에서 검색하고...정렬하고..해주심 되용~
SELECT *
FROM (
SELECT rownum num, A.*
FROM (
SELECT *
FROM TABLE
) A
WHERE rownum >= '게시물 시작번호'
)
WHERE num < '게시물 종료 번호'
2008-10-21 ADD
oracle은 mysql이 비해 복잡한(?) 쿼리문을 필요로 하는데,
자신감있게...거만하게..쿼리문을 만들고...(-_-;진실은...union도 써보고..별지랄 다 했다.)
간만에 손대본 관계로..반나절 고생을 했다...ㅜㅜ
많은 쿼리문 오류로 인해 고생을 하긴 했지만..
가장 난감하게..고생시킨 장본인은 다음과 같다.
ORA-00918: 열의 정의가 애매합니다
일전에 ORA-01788: CONNECT BY 구를 지정해 주십시오 땜시 고생아닌 고생을 했는데..
이번에도 마찬가지 였다.
'ORA-00918' 과 마딱뜨리지 마자
1. 명령어 잘못인가?
2. 10g 버젼은 틀린가..?
와 같이.. 애꿎은 오라클을 욕했으나... '컴퓨터는 거짓말 안해' 라는 사실만을 증명할 뿐이었다.
컬럼명 으로 'NAME'이 별 오류/에러없이 사용할수 있었지만, 식별자.NAME으로는 사용할 수가 없었던 것이다.
왜 저넘의 에러가 발생한 것인지..정답은 모르겠지만..( 내가 뭘 아나...? )
난 다음과 같이 이해(? 얼버무리고..) 넘어가고했다.
- 'oracle NAME' 으로 검색한 결과 - Procedure/Function Name 산출 SQL
SELECT DISTINCT NAME
FROM USER_SOURCE
WHERE TYPE='PROCEDURE' ;
SELECT DISTINCT NAME
from USER_SOURCE
WHERE TYPE='FUNCTION' ;
바로..Procedure/Function Name 산출시 사용되는 넘으로 판단하건데.. NAME 이넘이 식별자를 통한 접근을 막아둔 oracle 보안에 관련된 변수라고 해두고 넘어가자!