[MSSQL] 프로시저 생성,조회,수정,삭제

프로시저란? 

데이터베이스에서의 프로시저란 프로그래머가 생성해놓은 쿼리문을 마치 하나의 메서드 형식으로 관리하는 것입니다. 실무에서는 굉장히 복잡한 쿼리문을 많이 사용해요. 많은 컬럼을 조회하고 여러 테이블을 조인하고 거기다가 WHERE조건까지... 심한 것은 하나의 쿼리를 만드는데 1000라인이 넘어가는 경우도 종종 있어요. 이렇게 장문의 쿼리를 사용할 때마다 써줘야 한다면 굉장히 불편할 거예요. 그러므로 이 장문의 쿼리를 프로시저에 저장해주고, 쿼리문이 저장된 프로시저를 호출하여 프로그래밍을 하는 것이 훨씬 효율적입니다.

 

프로시저 사용법

프로시저 생성 문법
CREATE PROC [프로시저명]
AS
[쿼리문]

 

프로시저 생성 예제

CREATE PROCEDURE UP_EXPRO
(
    @P_COMPANY NVARCHAR(500),--회사코드
    @P_BIZAREA NVARCHAR(500),--고객사코드
    @P_PLANT NVARCHAR(500) --공장코드
)
AS
BEGIN
SET NOCOUNT ON 
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
	
    SELECT
    A.CD_SHOP,
    A.BIZAREA,
    B.NM_BIZAREA,
    FROM SA_Z_DZ_POS_SHOP_WJT A
    LEFT OUTER JOIN BIZAREA B ON A.COMPANY = B.COMPANY AND A.BIZAREA = B.BIZAREA
    WHERE A.CD_COMPANY = @P_CD_COMPANY AND(
    ISNULL(@P_CD_BIZAREA,'')='' OR @P_CD_BIZAREA = A.CD_BIZAREA)

SET NOCOUNT OFF
RETURN
END;

 

프로시저 1개 조회

sp_helptext [프로시저명]

 

전체 프로시저 조회

select * from INFORMATION_SCHEMA.ROUTINES

 

프로시저 삭제

DROP PROCEDURE [프로시저명] 

 

[MS_SQL] SET NOCOUNT 정의와 사용법 (프로시저 성능 향상)

[MS_SQL] 반복문(WHILE) 사용법 & 예제

[MS_SQL] 피벗테이블을 활용하여 세로로 된 데이터 가로로 출력하기

[MS_SQL] 커서 사용법 & 예제

[MS_SQL] NULL값 체크 (ISNULL) 함수 사용법 & 예제

 

댓글

Designed by JB FACTORY