DB
Store Procedure란?
91cm
2018. 9. 16. 23:03
스토어 프로시저 : DB 내부에서 작업을 수행하는 쿼리의 집합
장점
1. 서버/클라이언트 네트워크 트래픽감소
2. 보안강화(SQL 인젝션 같은 기본적인 보안사고는 피할 수 있음)
3. 패치 필요가 없음(WAS재기동 불필요)
4. 최초 실행시 최적의 상태로 컴파일되고 이후 DB캐시에 저장됨 . 캐시에 저장되면 최적화와 컴파일하지않음 여러번 사용시 성능향상 의 효과가 있다.
단점
1. 리팩토링 매우힘듬
2. 히스토리 관리불가
3. 유지보수 힘듬
4. 디버깅어려움
프로시저 생성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | CREATE PROCEDURE SP_TEMP_INSERT( @pi_name varchar(50)='' -- 이름 파라미터 ,@pi_age int -- 나이 파라미터 ) AS BEGIN SET NOCOUNT ON INSERT INTO T_TEMP (TEMP_NAME, TEMP_AGE) VALUES(@pi_name, @pi_age); RETURN END; | cs |
프로시저 1개 조회
1 | SP_HELPTEXT 프로시저명; | cs |
전체 프로시저 조회
1 | SELECT * FROM INFORMATION_SCHEMA.ROUTINES; | cs |
프로시저 실행
1 | EXEC 프로시저명 파라미터1, 파라미터2 | cs |
프로시저 제목에 특정문자가 포함된 프로시저 찾기
1 2 3 | SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME LIKE '%프로시저명%' | cs |
프로시저 내용에 특정문자가 포함된 프로시저 찾기
1 2 3 4 | SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%Search_Text%' AND ROUTINE_TYPE='PROCEDURE' ORDER BY ROUTINE_NAME | cs |