ejyoo's 개발 노트

두개의 테이블에 Update 쿼리 작성하기 - 프로시져 사용 본문

DB/Oracle

두개의 테이블에 Update 쿼리 작성하기 - 프로시져 사용

ejyoovV 2021. 4. 29. 21:08
/
SET SERVEROUTPUT ON;
/
CREATE OR REPLACE PROCEDURE PROC_UP_USER_DDIT_ALL(P_ID IN VARCHAR2, P_BIR IN DATE, P_HP IN VARCHAR2, P_MAIL IN VARCHAR2, P_RECV_MAIL IN VARCHAR2, P_PHOTO IN VARCHAR2)
IS
BEGIN
    DBMS_OUTPUT.PUT_LINE(P_ID || ', ' || P_BIR || ', ' || P_HP || ', ' || P_MAIL || ', ' || P_RECV_MAIL || ', ' || P_PHOTO);
    
    UPDATE TB_USER_DDIT
    SET    DDIT_BIR = P_BIR, DDIT_HP = P_HP, DDIT_MAIL = P_MAIL, RECV_MAIL = P_RECV_MAIL
    WHERE  USER_ID = P_ID;
    
    UPDATE TB_USER_ALL
    SET    USER_PHOTO  = P_PHOTO
    WHERE  USER_ID = P_ID;
   
    COMMIT;
   
    EXCEPTION
        WHEN OTHERS THEN
            DBMS_OUTPUT.PUT_LINE('오류 발생 : ' || SQLERRM);
            ROLLBACK;
END;
/
EXEC PROC_UP_USER_DDIT_ALL('userddit','21/04/29','010-1234-1234','o3ktest@gmail.com','N','A');
/

프로시져는 한번만 만들어놓으면 DB에 저장되므로 

ibatis 에서는 아래 쿼리만 넣어서 사용하면 된다.

EXEC PROC_UP_USER_DDIT_ALL('userddit','21/04/29','010-1234-1234','o3ktest@gmail.com','N','A');