ABOUT ME

-

오늘 방문자
-
어제 방문자
-
전체
-
  • Store Procedure란?
    DB 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


    '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

    댓글

Designed by Tistory.