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
운영게시판
최근게시물
Oracle Q&A 3661 게시물 읽기
No. 3661
Re: Re: Re: 프로시저에서는 힌트가 적용되지 않나요?
작성자
firebird
작성일
2001-04-13 01:11
조회수
1,666

흠... 이게 패키지 전체소스인가요?

RUNNING_FROM, RUNNING_TO 변수가 선언되어 있지 않군요.

이러면 에러날텐데...

dbms_output.print_line() 을 이용해서 매개변수들의 값을 한번 찍어 보시는게 어떨까요...

경험상 대부분은 초기화되지 않은 인수가 잘못전달되어 결과가 안나오는 경우가 많더군요.

 

>>travolta 님께서 쓰시길<<

 

:: 우선 답변 감사드립니다.

::

:: 다시 질문드립니다.

::

:: CREATE OR REPLACE PACKAGE "YOOSUNGTNS"."PKG_NOTICE" AS

:: TYPE T_CURSOR IS REF CURSOR ;

:: PROCEDURE SP_GETDATA (A_MEMNO IN NOTICE.MEM_NO%TYPE, A_SEQ IN NOTICE.SEQ%TYPE, IO_CURSOR IN OUT

:: T_CURSOR);

:: PROCEDURE procNotice_Next (MemNo IN NOTICE.MEM_NO%TYPE, sno IN NUMBER, IO_CURSOR IN OUT T_CURSO

:: R);

:: END PKG_NOTICE;

::

:: 패키지 선언부에 위와같이 선언하고 패키지 몸체에

::

:: CREATE OR REPLACE PACKAGE BODY "YOOSUNGTNS"."PKG_NOTICE" AS

:: PROCEDURE SP_LIST (TOP_SEARCH IN NUMBER, A_MEMNO IN NOTICE.MEM_NO%TYPE, IO_CURSOR IN OUT T_CURSO

:: R)

:: IS

:: V_CURSOR T_CURSOR;

:: BEGIN

:: OPEN V_CURSOR FOR

:: SELECT /*+index_desc(notice, notice_pk)*/

:: MEM_NO, SEQ, TITLE, CONTENT, IMPORTANT_VALUE, VISITED, IN_DATE

:: FROM NOTICE

:: WHERE TO_CHAR(SYSDATE,'YYYYMMDD')

:: BETWEEN TO_CHAR(RUNNING_FROM,'YYYYMMDD')

:: AND TO_CHAR(RUNNING_TO,'YYYYMMDD')

:: AND MEM_NO = A_MEMNO

:: AND ROWNUM <= TOP_SEARCH

:: ORDER BY IN_DATE DESC;

:: --커서를 리턴한다.

:: IO_CURSOR := V_CURSOR;

:: END SP_LIST;

:: END PKG_NOTICE;

::

:: 위와 같이 선언하여 사용하고 있습니다.

:: 혹시 리턴 되는 형식이 TYPE T_CURSOR IS REF CURSOR 로 정의되어 그러는 것이 아닌가 하는 생각을 해

:: 봅니다.

::

:: 그리고 지적해주신 힌트문법도 바꿔서 해 보았지만 똑같습니다.

::

:: 다시한번 답변 부탁드립니다.

::

:: 즐겁고 행복한 하루되시길...

::

:: >>firebird 님께서 쓰시길<<

::

:: :: 프로시져에서도 힌트 사용가능합니다.

:: :: 프로시져이기 때문에 그런것 같지는 않군요.

:: :: 그리고 아래 힌트 문법에서 컴마가 없는게 맞습니다.

:: ::

:: :: >>travolta 님께서 쓰시길<<

:: ::

:: :: :: 직접 쿼리하면 힌트가 먹혀 레코드가 나오는데

:: :: :: 프로시저로 하면 힌트가 먹질 않네요.

:: :: ::

:: :: :: 프로시저에서는 힌트적용이 안되나요?

:: :: ::

:: :: :: select /*+index_desc(notice,notice_pk)*/ mem_no, seq, title

:: :: :: from Notice where seq < sno and mem_no=MemNo

:: :: :: and rownum = 1 and to_char(sysdate,'YYYYMMDD') BETWEEN to_char(running_from,'YYYYMMDD')

:: AND

:: :: to

:: :: :: _char(running_to,'YYYYMMDD')

:: :: :: order by seq;

:: :: ::

:: :: :: sno와 memno를 파라메터로 받아서 실행하는 쿼리문입니다.

:: :: :: 답변 부탁드립니다.

[Top]
No.
제목
작성자
작성일
조회
3617php 실행중 다음과 같은 에러 발생..
급한사람
2001-04-10
1322
3621┕>Re: php 실행중 다음과 같은 에러 발생..
정재익
2001-04-10 20:32:23
1439
3616오라클에서sql2000 서버쓰기가...
윤동만
2001-04-10
1255
3614"make -f demo_proc.mk sample1"은 어떻게 컴파일 합니까?
김봉섭
2001-04-10
1466
3627┕>Re: 컴파일 됩니다.
firebird
2001-04-10 22:47:29
1478
3630 ┕>[추가질문]make 실행시
왕초보
2001-04-11 00:59:31
1470
3632  ┕>[해결] 아하~ build를 붙여야 되는 군요. 이걸로 하룻밤을 새웠네요..
김봉섭
2001-04-11 09:34:12
1362
3613프로시저에서는 힌트가 적용되지 않나요?
travolta
2001-04-10
1282
3624┕>Re: 프로시저에서는 힌트가 적용되지 않나요?
firebird
2001-04-10 22:33:11
1528
3633 ┕>Re: Re: 프로시저에서는 힌트가 적용되지 않나요?
travolta
2001-04-11 09:47:26
1703
3661  ┕>Re: Re: Re: 프로시저에서는 힌트가 적용되지 않나요?
firebird
2001-04-13 01:11:24
1666
3612long형에 글이 왜 안들어갈까요?
cscript
2001-04-10
1121
3628┕>Re: long형에 글이 왜 안들어갈까요?
firebird
2001-04-10 22:53:44
1784
3607oracle 에서 필드 삭제....??
정용현
2001-04-10
1358
3609┕>Re: oracle 에서 필드 삭제....??
김낙형
2001-04-10 12:36:40
1496
3604리눅스용 오라클 공짜인가요?
바보
2001-04-10
1256
3611┕>Re: 리눅스용 오라클 공짜인가요?
최성준
2001-04-10 13:00:15
1493
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다