상세 컨텐츠

본문 제목

저장 프로시저 만들기

ASP.NET

by happynuri 2008. 5. 19. 17:06

본문

저장 프로시저 만들기


사용법)

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

[출처] 저장 프로시저 만들기|작성자 태구니


추가 by happynuri

sql에서 매개변수 추가 해서 만들고

CREATE PROC UserLoggingUpdate
 @loginID nvarchar(50),
 @logoutTime datetime
AS
Begin
update dbo.UserLogging  set logoutTime =  @logoutTime  
 where userID =@loginID
  and loginTime =(select max(loginTime) from UserLogging where userID = @loginID)

End

실행

EXEC UserLoggingUpdate 'aspnetsqlmembershipprovider:sehoon0.lee', '2009-02-28'

관련글 더보기

댓글 영역