본문 바로가기
Lecture/Mssql

[SP] Stored Procedure

by cusmaker 2014. 6. 10.
반응형

저장 프로시저 만들기


사용법)

CREATE PROC[EDURE] 저장 프로시저 이름
[저장 프로시저의 매개 변수 목록]
AS
 저장 프로시저 내에서 실행될 쿼리들

 

1. 매개변수 없는 프로시져

예)

CREATE PROC up_member

AS

Begin 
 SELECT *
 FROM test_member

End


실행명령 :  EXEC 실행할 저장 프로시저 이름 (EXEC up_member)

 

2. 매개변수 있는 프로시져

예)

CREATE PROC up_member

@id varchar(20)

AS

Begin 
 SELECT *
 FROM test_member

 WHERE member_id=@id

End


실행명령 :  EXEC 실행할 저장 프로시저 이름 변수 (EXEC up_member 'sunmi')

 

3. 리턴값을 갖는 프로시져

예)

CREATE PROC up_member

AS

Begin

 DECLARE @Count int
 SELECT @Count = count(*)
 FROM test_member

 RETRUN @Count

End

 

실행명령 :  

DECLARE @Count int
EXEC @Count = up_member
SELECT @Count

 

4. OUTPUT 매개변수 이용하는 프로시져

예)

CREATE PROC up_member

@Count int OUTPUT
AS

Begin

  SELECT @Count = count(*)
 FROM test_member

End


실행명령 :  

DECLARE @Count int
EXEC  up_member @Count OUTPUT
SELECT @Count

 

5. 프로시져 삭제하기

- drop proc 프로시저명

 

6 프로시져 수정하기

-

ALTER PROC 수정할 SP 이름
[프로시저 매개 변수 목록]
AS
실행할 쿼리 문장들

 

7. 프로시저내에 분기

-

CREATE PROC  sp_UpPrice
    @type    char(12),
    @plus    Float
AS
Begin 
    Declare @Check    int

    Select @Check = Max(price) from titles
    Where type = @type

    if @Check < 50 
        Begin
            Update titles SET price = price + @plus
            Where type = @type

            Select @Check = 1
        End
    Else
        Select @Check = 0

    Return @Check
End