-
Store Procedure란?DB 2018. 9. 16. 23:03
스토어 프로시저 : DB 내부에서 작업을 수행하는 쿼리의 집합
장점
1. 서버/클라이언트 네트워크 트래픽감소
2. 보안강화(SQL 인젝션 같은 기본적인 보안사고는 피할 수 있음)
3. 패치 필요가 없음(WAS재기동 불필요)
4. 최초 실행시 최적의 상태로 컴파일되고 이후 DB캐시에 저장됨 . 캐시에 저장되면 최적화와 컴파일하지않음 여러번 사용시 성능향상 의 효과가 있다.
단점
1. 리팩토링 매우힘듬
2. 히스토리 관리불가
3. 유지보수 힘듬
4. 디버깅어려움
프로시저 생성
1234567891011121314CREATE PROCEDURE SP_TEMP_INSERT(@pi_name varchar(50)='' -- 이름 파라미터,@pi_age int -- 나이 파라미터) ASBEGINSET NOCOUNT ONINSERT INTO T_TEMP (TEMP_NAME, TEMP_AGE) VALUES(@pi_name, @pi_age);RETURNEND;cs 프로시저 1개 조회
1SP_HELPTEXT 프로시저명;cs 전체 프로시저 조회1SELECT * FROM INFORMATION_SCHEMA.ROUTINES;cs 프로시저 실행
파라미터가 여러개일시 ,(쉼표)로 전달1EXEC 프로시저명 파라미터1, 파라미터2cs 프로시저 제목에 특정문자가 포함된 프로시저 찾기
123SELECT *FROM INFORMATION_SCHEMA.ROUTINESWHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME LIKE '%프로시저명%'cs 프로시저 내용에 특정문자가 포함된 프로시저 찾기
1234SELECT ROUTINE_NAMEFROM INFORMATION_SCHEMA.ROUTINESWHERE ROUTINE_DEFINITION LIKE '%Search_Text%' AND ROUTINE_TYPE='PROCEDURE'ORDER BY ROUTINE_NAMEcs 'DB' 카테고리의 다른 글
NOCOUNT (0) 2018.09.20 CONVERT (0) 2018.09.17 varchar nvarchar 차이점 (0) 2018.09.14 WITH (NOLOCK) (0) 2018.09.14 [MSSQL] 테이블 정의서 작성 쿼리 (0) 2018.09.14