amyLee22
112
2018-12-10 15:56:15
4
640

DB Procedure 사용하는 이유가 뭔가요?


예를 들어

SQL> CREATE OR REPLACE PROCEDURE update_sal 
     /* IN  Parameter */
     (v_empno    IN    NUMBER) 
         
     IS 

     BEGIN 

       UPDATE emp 
       SET sal = sal  * 1.1 
       WHERE empno = v_empno; 

       COMMIT; 

     END update_sal; 
     /     

<출처 : 꿈꾸는 개발자, DBA 커뮤니티>

http://www.gurubee.net/lecture/1041


이러한 프로시저가 있다고 할 때

그냥 저  UPDATE문을 실행해주면 되는거 아닌가요?


굳이 프로시저를 사용하는 이유는 뭔가요?

그리고 실제로 프로시저를 사용하는 걸 못 본 것 같은데 실제로 많이 쓰나요?

0
0
  • 답변 4

  • 개발자스멜
    362
    2018-12-10 16:09:58 작성 2018-12-10 16:10:11 수정됨

    프로시저를 사용하면 쿼리 수정 시에 자바는 서버를 내려 컴파일을 안해도 되고

    xml은 서버에 직접 접근해서 파일을 업로드 안해도 됩니다

    DB에 접근해서 프로시저만 수정해주면 끝이죠

    운영을 해보면서 느낀거지만 현업들에게 서버를 내린다는 건 그만큼 일을 못한다는 거구요

    그리고 유효성 검사 등 복잡한 로직을 구현할 수 있습니다

    제가 5년차인데 제가 입사했던 회사마다 100% 프로시저, 패키지 사용했습니다


    0
  • gdkorea
    359
    2018-12-10 16:46:29

    변경 컴파일 배포 없이 DB 프로시져에 비지니스 로직을 짜두면 런타임 환경에서 바로 변경이 가능합니다.


    좋은건 아니지만, 운영 유지보수 측면에서는 훨씬 낫습니다.

    0
  • 왈와ㅏㄹ왕뢍왕왈
    806
    2018-12-10 18:26:31

    제가 pl  이나 aa 로 있는 프로젝트에서는 절대 못쓰게했습니다.

    소스관리 유지보수 테스트 어렵고 

    실수에 의한 장애 확률이 높습니다.

    0
  • 배고파서서러워요
    2k
    2018-12-12 14:33:30

    개발자가 신경 안쓰고 DBA가 던지라는데로 던지면 되거든요...

    근데, 요새는 안쓰는 추세입니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.