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 39104 게시물 읽기
No. 39104
조회만 하는 Stored Procedure 작성 예제 좀..
작성자
궁금이(kimscom)
작성일
2011-11-16 14:52ⓒ
2011-11-16 14:53ⓜ
조회수
4,648

특정 PGM에서 SP만 호출해서 결과를 UI에 뿌려주려고 하는데요.

제가 초보라서 그런데  조회만하는 SP 작성예제 좀 올려주실 수 있나요?

 

예를들어 아래와 같은 쿼리가 있다고 할경우 SP로 만들어 해당 SP를 호출해 결과값만 보려고합니다..

WITH t AS
(SELECT '20100610' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 2288 qty1, 3850 qty2 FROM DUAL
 UNION ALL
 SELECT '20100611' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 6336 qty1, 2200 qty2 FROM DUAL
 UNION ALL
 SELECT '20100612' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 3190 qty1, 2750 qty2 FROM DUAL
 UNION ALL
 SELECT '20100613' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 7722 qty1, 4312 qty2 FROM DUAL)
SELECT yyyymmdd, gubun1, gubun2, qty1, qty2, NVL (temp_qty1 - temp_qty2, 0) new_field
FROM (SELECT yyyymmdd, gubun1, gubun2, qty1, qty2,
             LAG (qty1) OVER (ORDER BY yyyymmdd) temp_qty1,
             LAG (qty2) OVER (ORDER BY yyyymmdd) temp_qty2
      FROM t)

 

그냥 말로 하면 제가 못알아 듣고요..  직접 프로시저를 하나 올려주셨음합니다..

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

 ㅋ.ㅋ... 이렇게 하니깐 되네요.. ^^

create or replace
PROCEDURE TEST_SP ( v_out_cursor OUT SYS_REFCURSOR )
IS
BEGIN
    OPEN v_out_cursor FOR
    WITH t AS
    (SELECT '20100610' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 2288 qty1, 3850 qty2 FROM DUAL
     UNION ALL
     SELECT '20100611' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 6336 qty1, 2200 qty2 FROM DUAL
     UNION ALL
     SELECT '20100612' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 3190 qty1, 2750 qty2 FROM DUAL
     UNION ALL
     SELECT '20100613' yyyymmdd, 'ABC' gubun1, 'K2' gubun2, 7722 qty1, 4312 qty2 FROM DUAL)
   SELECT yyyymmdd, gubun1, gubun2, qty1, qty2, NVL (temp_qty1 - temp_qty2, 0) new_field
      FROM (SELECT yyyymmdd, gubun1, gubun2, qty1, qty2,
                                   LAG (qty1) OVER (ORDER BY yyyymmdd) temp_qty1,
                                   LAG (qty2) OVER (ORDER BY yyyymmdd) temp_qty2
                       FROM t)
;
END TEST_SP;

궁금이(kimscom)님이 2011-11-19 11:07에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39107oracle 함수질문입니다.. [2]
추평사
2011-11-17
4129
39106Locking 메커니즘에 대한 질문 [1]
oracle
2011-11-17
4296
39105[질문] 오라클에도 DB Profiler 같은게 있나요?
궁금이
2011-11-17
3682
39104조회만 하는 Stored Procedure 작성 예제 좀.. [1]
궁금이
2011-11-16
4648
39103쿼리 속도 개선 좀 부탁합니다. [1]
박진경
2011-11-16
4991
39102어떻게 하면 될까요? [1]
???
2011-11-16
3610
39101계층적데이터 산출!! 도와주세요~~ [1]
박용선
2011-11-16
4197
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다