DB/SQL Server

[mssql] 프로시저 CRUD 사용 예제

오달달씨 2022. 9. 26. 17:25
728x90
반응형

한개의 프로시저 호출로 데이터를 조회, 등록, 수정, 삭제를 해보려고 한다.

 

FOOD라는 테이블을 만든다.

 

PROC_FOOD 라는 프로시저를 생성한다.

이 때 프로시저의 매개변수로 입력 코드, 음식 코드, 음식 이름을 받는다. 

/*=========================================================================*/   
CREATE PROCEDURE PROC_FOOD 
   @MODE   CHAR(1), -- I : 등록, U : 수정, D : 삭제, S : 조회
   @FoodCode   VARCHAR(10),
   @FoodName

AS        
--입력        
IF @MODE = 'I' GOTO INPUT        
--수정        
IF @MODE = 'U' GOTO UPDAT        
--삭제        
IF @MODE = 'D' GOTO DELTE        
--조회        
IF @MODE = 'S' GOTO SEARCH        
RETURN

        
/*=========================================================================*/        
INPUT:        
        
 INSERT INTO FOOD(FoodCode, FoodName)        
   VALUES (@FoodCode,@FoodName)        
        
RETURN        

/*=========================================================================*/    
UPDAT:        
        
 UPDATE FOOD 
    SET FoodName=@FoodName 
  WHERE FoodCode=@FoodCode
        
RETURN        

/*=========================================================================*/        
DELTE:        
        
 DELETE          
   FROM FOOD 
  WHERE FoodCode=@FoodCode
        
RETURN    

/*=========================================================================*/        
SEARCH:    
        
   SELECT  FoodCode,FoodName 
     FROM FOOD with (nolock)       -- 락 무시하고 조회(INSERT, UPDATE 처리 대기중에도 결과와 관계없이 SELECT문 수행
    WHERE (FoodName LIKE '%'+@FoodName +'%' Or FoodCode Like  '%'+@PgmName+'%')       
  ORDER BY FoodCode 
        
RETURN            

/*=========================================================================*/        
set ANSI_NULLS ON        
set QUOTED_IDENTIFIER ON    

프로시저 호출을 해보자.

조회 : 
EXEC PROC_FOOD 'V', '' , ''

등록 : 
EXEC PROC_FOOD 'I', '', '짜장면'

수정 : 
EXEC PROC_FOOD 'U', 'F1', '짬짜면'

등록 : 
EXEC PROC_FOOD 'D', 'F1', ''

 

728x90
반응형