안녕하세요.
오라클 SP 문의입니다.
아래와 같이 SP를 작성하였습니다.
(조회 속도가 오래 걸려 테이블에 INSERT 한 후 SELECT 하는 SP입니다.)
SP를 실행하면 INSERT까지는 잘 되는데요.
SP 실행 후 SELECT 까지 바로 되게끔 SP를 수정하려는데 잘 안되어서요.
구문 확인 좀 부탁드립니다.
수고하세요~
CREATE OR REPLACE PROCEDURE PDS.SP_PDEZ
( P_COMP_CODE IN VARCHAR2
, P_WMST_BZCD IN VARCHAR2
, P_PSIM_DATE IN VARCHAR2
, O_RTN_VAL OUT VARCHAR2
) IS
V_SEQ_OLD_MAX NUMBER;
BEGIN
BEGIN
DELETE FROM P_PDEZ;
INSERT INTO P_PDEZ
SELECT CN_NUMB, CN_SEQN,
PD_DATE,
PD_QUTY
FROM ** 이하생략;
SELECT * FROM P_PDEZ;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
O_RTN_VAL := 0;
DBMS_OUTPUT.PUT_LINE('EXCEPTION: '||SQLCODE||' -ERROR- '||SQLERRM);
RETURN;
END;
END SP_PDEZ;
Comment 5
-
착한이
2014.09.16 15:31
헐헐. 설마요.. ㅜ.ㅜ
-
건우아빠
2014.09.16 17:41
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10205&docId=137422059&qb=7Jik65287YG0IHNlbGVjdCAg7ZSE66Gc7Iuc7KCA&enc=utf8§ion=kin&rank=9&search_sort=0&spq=0
-
항해자™
2014.09.17 12:06
제가 알기로는 레코드셑을 반환하는 프로시저를 만들려면 모종의 트릭(?)이 수반되어야 하는 것으로 알고 있습니다ㅎㅎ
-
항해자™
2014.09.17 12:10
10년전 경험이니까 다 믿진 마시구요.
그 당시 파견나간 업체에서 간단하게 SP하나 만들어보고 시작하려고
SELECT하는 SP하나 만들었는데
문법 틀린거 없는거 같은데 CREATE 자체가 안되더군요.
일주일만에 오라클에서는 SELECT 하는 SP는 못만든다는걸 알게됐습니다. ㅠㅠ (그당시 버전에서요)