영업관리팀에서 잦은 CONTRACT_VALUE 테이블 데이터 일괄처리 요청으로 인하여 새 프로그램을 만들어 주었다.
프론트 = 파워빌더
백엔드 = 오라클(SP)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
SP_CONTRACT_VALUE_ITEM_INSERT 쿼리
CREATE OR REPLACE PROCEDURE SP_CONTRACT_VALUE_ITEM_INSERT
(OLD_ITEM_CODE CONTRACT_VALUE.ITEM_CODE%TYPE
,NEW_ITEM_CODE CONTRACT_VALUE.ITEM_CODE%TYPE
,CHANGE_EMP CONTRACT_VALUE.LASTEMP%TYPE
,OLD_TERM_TO DATE
,NEW_TERM_FROM DATE
)
IS
BEGIN
INSERT INTO CONTRACT_VALUE
SELECT SALES_CODE
,CUST_CODE
,NEW_ITEM_CODE
,BUSINESS_GUBUN
,BASE_AMT
,ORDER_AMT
,LOWEST_AMT
,CAMT_PRCTYPE
,CONTRACT_AMT
,RND_RATE
,NEW_TERM_FROM
,TERM_TO
,SYSDATE
,CONTRACT_GUBUN
,MON_SOMO
,DRAFT_DATE
,DRAFT_NO
,USE_YN
,CHANGE_EMP
,SYSDATE
,CHANGE_EMP
,SYSDATE
,CONTRACT_TYPE_1
,CONTRACT_TYPE_2
,CONTRACT_TYPE_3
,CONTRACT_TYPE_4
,CONTRACT_TYPE_5
,CONTRACT_TYPE_6
,CONTRACT_TYPE_7
FROM CONTRACT_VALUE
WHERE TERM_TO = OLD_TERM_TO
AND ITEM_CODE = OLD_ITEM_CODE;
COMMIT;
END;
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
SP_CONTRACT_VALUE_ITEM_UPDATE 쿼리
CREATE OR REPLACE PROCEDURE SP_CONTRACT_VALUE_ITEM_UPDATE
(OLD_ITEM_CODE CONTRACT_VALUE.ITEM_CODE%TYPE
,CHANGE_EMP CONTRACT_VALUE.LASTEMP%TYPE
,OLD_TERM_TO DATE
,NEW_TERM_TO DATE
)
IS
BEGIN
UPDATE CONTRACT_VALUE
SET TERM_TO = NEW_TERM_TO
,CHANGE_DATE = SYSDATE
,LASTEMP = CHANGE_EMP
,LASTYMD = SYSDATE
WHERE TERM_TO = OLD_TERM_TO
AND ITEM_CODE = OLD_ITEM_CODE;
COMMIT;
END;
'DB > Oracle' 카테고리의 다른 글
[Oracle] 오라클 기본정리(1) (0) | 2022.08.29 |
---|---|
[Oracle] 패키지(Package) (0) | 2022.08.29 |
[Oracle] 사용자 정의 함수(Stored Function) (0) | 2022.08.23 |
[Oracle] EXCEPTION(예외처리) 예제 (0) | 2022.08.22 |
[Oracle] ORA-06550 & EXCEPTION(예외처리) (0) | 2022.08.16 |