'2014/02'에 해당되는 글 2건
- 2014.02.17 [오라클 / PL-SQL] 오라클 예외처리 및 기본 예제
- 2014.02.07 클라이언트 Mac Address 가져오기
[오라클 / PL-SQL] 오라클 예외처리 및 기본 예제
CREATE OR REPLACE PROCEDURE SP_USER_CONTROL(
SEL_MODE IN VARCHAR2,
P_X_ID IN X_TEMP_TABLE.X_ID%TYPE,
P_X_PW IN X_TEMP_TABLE.X_PW%TYPE,
ERROR_CODE OUT VARCHAR2, --에러코드 리턴
ERROR_MSG OUT VARCHAR2 --에러메시지
)IS
V_ERROR_CODE VARCHAR2(30); --예외코드 변수
V_ERROR_MSG VARCHAR2(1000); --예외메시지 변수
V_CNT NUMBER;
CALLEXT EXCEPTION; --사용자 예외 선언
BEGIN
IF SEL_MODE='1' THEN --INSERT
DBMS_OUTPUT.PUT_LINE('INSERT');
BEGIN
INSERT INTO X_TEMP_TABLE VALUES(P_X_ID,P_X_PW);
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN
V_ERROR_CODE:='E001';
V_ERROR_MSG:='중복된 데이터로 인해 입력에 실패하엿습니다.';
RAISE CALLEXT; --사용자 예외 던지기
WHEN OTHERS THEN
RAISE; --예외 던지기
END;
ELSIF SEL_MODE='2' THEN --UPDATE
DBMS_OUTPUT.PUT_LINE('UPDATE');
BEGIN
SELECT COUNT(*) INTO V_CNT FROM X_TEMP_TABLE WHERE X_ID = P_X_ID;
IF V_CNT > 0 THEN
UPDATE X_TEMP_TABLE SET X_ID = P_X_ID, X_PW = P_X_PW WHERE X_ID = P_X_ID;
ELSE
V_ERROR_CODE:='E002';
V_ERROR_MSG:='대상 데이터가 검색되지 않앗습니다.';
RAISE CALLEXT; --사용자 예외 던지기
END IF;
EXCEPTION WHEN OTHERS THEN
RAISE; --예외 던지기
END;
ELSIF SEL_MODE='3' THEN --DELETE
DBMS_OUTPUT.PUT_LINE('DELETE');
BEGIN
SELECT COUNT(*) INTO V_CNT FROM X_TEMP_TABLE WHERE X_ID = P_X_ID;
IF V_CNT > 0 THEN
DELETE FROM X_TEMP_TABLE WHERE X_ID = P_X_ID;
ELSE
V_ERROR_CODE:='E002';
V_ERROR_MSG:='대상 데이터가 검색되지 않앗습니다.';
RAISE CALLEXT; --사용자 예외 던지기
END IF;
EXCEPTION WHEN OTHERS THEN
RAISE; --예외 던지기
END;
ELSIF SEL_MODE='4' THEN --TRUNCATE
DBMS_OUTPUT.PUT_LINE('TRUNCATE');
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE X_TEMP_TABLE';
EXCEPTION WHEN OTHERS THEN
RAISE; --예외 던지기
END;
ELSE
RAISE CALLEXT;
END IF;
ERROR_CODE:='E000';
ERROR_MSG:='정상적으로 처리되엇습니다.';
COMMIT;
EXCEPTION
WHEN CALLEXT THEN --사용자 예외
ERROR_CODE:=V_ERROR_CODE;
ERROR_MSG:=V_ERROR_MSG;
ROLLBACK;
WHEN NO_DATA_FOUND THEN
ERROR_CODE:='E002';
ERROR_MSG:='데이터를 찾을수가 없습니다.';
ROLLBACK;
WHEN OTHERS THEN
ERROR_CODE:='E004';
ERROR_MSG:=SQLERRM || SQLCODE;
ROLLBACK;
END SP_USER_CONTROL;
'-=-= 컴퓨터 =-=- > Database' 카테고리의 다른 글
[오라클] 월별 통계 (0) | 2014.03.01 |
---|---|
오라클 상태 조회 (0) | 2014.03.01 |
java.sql.SQLException: 논리적 핸들이 더 이상 유효하지 않습니다 (0) | 2013.03.11 |
오라클 split 함수 (0) | 2013.02.20 |
오라클 connect by 예제 (0) | 2012.10.31 |
클라이언트 Mac Address 가져오기
클라이언트에서 액티브x를 안쓰고 맥주소 가져오는 방법 / 애플릿
http://techdetails.agwego.com/2008/02/11/37/
'-=-= 컴퓨터 =-=- > 웹프로그래밍' 카테고리의 다른 글
[JSP] getOutputStream() has already been called for this response (0) | 2013.06.13 |
---|---|
javascript selectbox 값으로 셋팅하기 (0) | 2012.12.15 |
onsubmit return false (0) | 2012.11.19 |
Struts 메시지 프로퍼티 사용하기 (0) | 2012.11.12 |
[CSS] 이미지 세로 가운데 정렬 (0) | 2012.10.15 |