Q&A

  • sql문 질의[델파이+오라클에서 fetch사용할 방법?]?
제목 : sql문 질의[오라클에서 fetch사용할 방법?]?
안녕하세요.sql 문 질의를 할려구 합니다.
먼저 저의 글을 읽어주셔서 고맙습니다.
환경 : c/s환경
       서버 : nt4.0 + 오라클 8.0.5
       개발tool : 델파이 6.0
아래의 sql 문의 fetch은 아이비엠 디비투에서 제공되는 예약어
이어서 문제 없이 실행이 되는 sql 문입니다.
====================================================
SELECT * FROM extable ORDER BY REF DESC, STEP  FETCH FIRST 13 ROWS ONLY
==========================================================
이것을 위 환경(오라클)에서 사용할려구 하니까..
돌아가지 않습니다.
sql 문이 제대로 종료가 되지 않는다구 나옵니다.
아마... 벤더사마다 사용하는 함수가 틀려서 그런거 같습니다.
오라클에서 위  sql 문을 이용할려면 어떡해 해야 하는지
조언을 해주셨으면 고맙겠습니다.
오늘 하루도 좋은 일만 있으시길 바랍니다.
1  COMMENTS
  • Profile
    김지엽 2002.12.14 01:29
    DB2에서는 FETCH가 어떤 뜻으로 쓰이는지 모르겠지만, ORACLE에서 FETCH 예약어는 ROW COUNT와 관련있는게 아니라, 어떤 컬럼을 어떤 변수에 담을 것인가에 관련된 예약어입니다.

    그리고 FETCH라는 것은 아마도, 처음의 몇 행만 들고오겠다.. 이런 뜻이 아닐까 싶네요? ORACLE 에서는.. rownum 이라는 가상필드를 사용해서 셀렉트 해야 함다.
    SELECT * FROM [테이블명] WHERE ROWNUM < 100
    이럼 테이블에서 99개의 레코드가 셀렉트 됨다.
    (허걱.. 부등호 표시를 잘못올려서, 글 수정했슴다. --;)

    근데, 그런 경우에 ROWNUM 이라는 놈의 순서가 부여되는건 ORDER BY 절을 타기 전이거든요. 그래서 예상한거와 같은 결과가 안나올검다.

    아마도 열이 많은 테이블에서 셀렉트를 하는게 아니실까 싶은데..
    ORDER BY 대신 인덱스를 걸고, hint를 사용해 보세요.

    SELECT /*+ INDEX_DESC(테이블명 인덱스명) */ 필드명 FROM 테이블명
    이럼 DESC 로 걸리구, INDEX_ASC(..) 이러면 ASC로 걸릴검다.

    그럼..
    • 박진규
    • 2002.12.13 20:23
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 정형준
      2002.12.14 14:56
      지난번 답이 좀 비껴나갔군요. ^^ 아래에 먼저 답변해 주신 분들의 답변을 참고하시면 될것 같습니다. ...
    • 열심히
      2002.12.13 22:18
      답은 님이 쓰신글 안에 있네요.. 이벤트가 일어날때 어느 컴퍼넌트가 이 이벤트를 일으킨것인지 아래...
    • 하기
      2002.12.13 21:08
        Showmessage((Sender as TEdit).Text); 이렇게 하면 되지 않을까염??? 그럼 수거 하세염... ...
    • 바프
    • 2002.12.13 20:15
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김준휘
    • 2002.12.13 19:28
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2002.12.13 21:23
      요부분이요 라고 한 부분에다 조건을 하나 넣어 주면 될것 같은데염      amt := str...
    • NiceSky
    • 2002.12.13 19:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김지엽
      2002.12.14 01:29
      DB2에서는 FETCH가 어떤 뜻으로 쓰이는지 모르겠지만, ORACLE에서 FETCH 예약어는 ROW COUNT와 관련있는게 ...
    • 김상수
    • 2002.12.13 18:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2002.12.13 22:09
      DBGrid에 아이템인덱스 프로퍼티가 있는걸로 알구요.. 쿼리상으로도 알수 있습니다.. select rownum,...
    • LuckyBoy
      2002.12.16 22:42
      님의 질문만으로는 정확히 어떠한 에러가 어느 상황에서 어떻게 나는 지를 님밖에 모르게 질문을 하셨군요...
    • 우영범
      2002.12.13 18:59
      GetClass 함수를 이용하면 가능합니다. initialization부에 반드시 해당 폼을 등록(RegisterClasses)해야 ...
    • 박진규
    • 2002.12.13 06:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정형준
      2002.12.13 17:50
      있습니다. Self 라는... 아무것도 안써도 됩니다. 다음은 자기의 넓이를 구하는 소스인데요 &nbs...
    • 열심히
      2002.12.13 23:34
      쿼리에 대한 공부는 자기가 프로그램을 하면서 필요한게 있을때마다 방법을 찾아서 해결하는수 밖에 없...
    • Do young
      2002.12.13 23:07
      ~미씨 . 많이보던 쿼리문땜시 들켰네여. 쿼리문은 많이 해봐야 되는디.. 넘 급하게 생각치말구 .. ...
    • 정형준
      2002.12.13 17:44
      프로그래밍을 하다보면 OS를 인격체로 여기게 되죠. 마찬가지로 SQL 또는 Stored Procedure나 Trigger ...
    • KDDG_ZZOM
      2002.12.13 09:10
      저경우는 집에다 퍼스널 오라클 인스톨해서 그냥 이것저것 해봤는데... 어떻게 공부해야되는건 본인이 얼...
    • KDDG_ZZOM
      2002.12.13 09:06
      트랜잭션을 관리하는걸 물어본건가요? 트랜잭션을 관리할려면 DataBase콤포넌트를 가지고 이용하시면 될...
    • 이상협
    • 2002.12.13 04:36
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2002.12.17 01:08
      님 그에러라면 에러메세지를 잘 살펴보심이.... List에 0번쨰 인덱스는 범위를 벗어난거래내요//....
    • Galaxy
      2002.12.13 19:54
      안녕하세요 수고 많습니다. 님께서 작성한 퀴리에서 파라미터가 몇개라고 생각 합니까?   &...
    • ^ㅡ^
      2002.12.13 07:34
      //답변이 될지 모르겠네요 var   I : Integer; begin    I := Length(FieldbyN...
    • 미러
    • 2002.12.13 04:09
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 열심히
      2002.12.17 01:12
      델파이에서 처리할수 있습니다... Access DB는 모르지만 델파이에서 님이 말씀하신대로 처리할수 있습니...
    • 이추형
      2002.12.20 22:21
      일단은 델파이에서 필드개수에 대한 제약은 없습니다. 단지 정해진 버퍼에 의해 데이타를 가져오기때문에 ...
    • 최용일
      2002.12.13 20:36
      안녕하세요. 최용일입니다. 클라이언트를 인디로 안바꾸셔도 됩니다. OnExecute이벤트에서 읽으시면...
    • 도니
      2002.12.13 21:35
      검색했을때..최용일님의 답변이 많아서.. 답변해주실꺼라...생각했는데..역시나..^^ 감사합니다..
    • 김보영
    • 2002.12.13 02:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.12.13 20:26
      안녕하세요. 최용일입니다. RTTI 함수들을 사용하세요... uses     ......, Ty...
    • 정형준
      2002.12.13 18:37
      이렇게 해보세요.     ShowMessage(IntToStr(Integer(False))); 여기서 힌트를 ...
    • 백진욱
      2002.12.17 02:46
      이상로님 말씀처럼 윈도 2000일경우 폼의 폰트속성에서 Charset 속성을 HANGEUL_CHARSET 로 설정해주...
    • 신강섭
      2002.12.17 00:50
      그건 개발할때 폰트를 한글로 마춰서 개발하면 2000이 됐건 98됬건 아무상관 없습니다. 착오없으시...
    • 심재용
      2002.12.16 10:41
      개인적으로는 win 2000  을 계속사용하시길 추천합니다. 이유인 즉 win98 이 너무 불안정해서 o...
    • 이상로
      2002.12.13 02:28
      OS가 2000이상인 경우에는 Font Dialog의 언어 선택이 굴림체등을 선택해도 자동으로 한글로 바뀌지 않아...
    • 김용덕
      2002.12.13 02:26
      안녕하세요. 저도 그런 경우가 있긴 했는데, 그건 Main Form의 폰트때문입니다. Main Form의 Font를 굴림...
    • 하기
      2002.12.13 01:44
      화면도 무지크게 늘어납니다 ====> 아마도 그건 Scaled때문이 아닐까 싶네요... 폰트가 깨진다는 말은...
    • 질문걸
    • 2002.12.13 00:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하기
      2002.12.13 00:56
      아마도 Hint를 말씀하시는것 같군요... 해당 컴포넌트의 Properties에 보시면 Hint라는것이 있을꺼여염 ...