SQL Server 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 15.2. 저장 프로시저 관련 샘플 스크립트
글번호: 51
작성자: 레드플러스
작성일: 2007/04/16 오후 8:48:00
조회수: 9106
-- 저장 프로시저(Stored Procedure) : SQL Server내에서의 프로그래밍 개체

--[1] 테이블 설계
Create Table dbo.AdminMemos
(
    Num Int Identity(1, 1) Not Null Primary Key,    -- 일련번호
    [Content] Text Not Null                            -- 내용
)
Go
--[2] 입력 예시문 : 글쓰기, 회원가입
Insert AdminMemos Values('저장 프로시저 연습')
Go
--[3] 출력 예시문 : 리스트, 회원리스트, 상품리스트
Select * From AdminMemos Order By Num Desc
Go
--[4] 상세 예시문 : 회원상세보기, 주문상세내역, 게시물보기
Select Num, Content From AdminMemos Where Num = 1
Go
--[5] 수정 예시문 : 회원정보수정, 게시물수정
Begin Tran
    Update AdminMemos
    Set Content = '저장 프로시저 안습'
    Where Num = 1
    --RollBack Tran
Commit Tran
--[6] 삭제 예시문 : 회원탈퇴, 게시물삭제
Begin Tran
    Delete AdminMemos
    Where Num = 1
    --RollBack Tran
Commit Tran
--[7] 검색 예시문 : 회원검색, 상품검색
Select Num, Content
From AdminMemos
Where [Content] Like '%프로시저%'
Go
--[8] 1부터 100까지 짝수일 때에는 Content에 '안녕'을 입력,
--    홀수일 때에는 '방가'를 입력
Declare @i Int
Set @i = 1
While @i <= 100
Begin
    If @i % 2 = 0
    Begin
        Insert AdminMemos Values('안녕')
    End
    Else
    Begin
        Insert Into AdminMemos Values('방가')
    End
    Set @i = @i + 1
End
Go
--[9] 뷰 생성 : 전체 레코드를 조회
Create View dbo.GetAdminMemos
As
    Select Num, Content From AdminMemos
Go
Select * From GetAdminMemos Order By Num Desc
Go

--[10] 입력 예시문 -> 프로그래밍화(매개변수화) -> 입력 저장 프로시저
Create Procedure dbo.AddAdminMemo
As
    Insert AdminMemos Values('저장 프로시저 연습')
Go
--[11] 저장 프로시저 실행 : Execute, Exec, 저장프로시저명
Execute AddAdminMemo
Go
Exec AddAdminMemo
Go
AddAdminMemo
Go
--[12] 저장 프로시저 수정
Alter Procedure dbo.AddAdminMemo
    @Content VarChar(8000)
As
    Insert AdminMemos Values(@Content)
Go
--[13] 매개변수가 있는 저장 프로시저 실행
Exec AddAdminMemo '안녕'
Go
Exec AddAdminMemo '방가'
Go
--[14] 긴 SQL문을 짧은 하나의 명령어(저장프로시저명)으로 변환
Create Procedure dbo.ListAdminMemos
As
    Select * From AdminMemos Order By Num Desc
Go
--[15] 매개변수가 없는 저장 프로시저 테스트
Exec ListAdminMemos
Go
--[16] 넘겨주는 값에 따른 결과 생성
Create Proc dbo.ViewAdminMemos
    @Num Int
As
    Select Num, Content From AdminMemos Where Num = @Num
Go
--[17] 매개변수가 있는 저장 프로시저 실행
Exec ViewAdminMemos 100
Go
Exec ViewAdminMemos 5
Go
--[18] 넘겨져 온 번호에 해당하는 내용을 넘겨져온 값으로 수정
Create Proc dbo.ModifyAdminMemos
    @Content VarChar(8000),
    @Num Int
As
    Begin Tran
        Update AdminMemos
        Set Content = @Content
        Where Num = @Num
        --RollBack Tran
    Commit Tran
Go
--[19] 위 저장 프로시저 실행 예시
Exec ModifyAdminMemos '반갑습니다.', 100
Go
Exec ViewAdminMemos 100
Go
--[20] 삭제 저장 프로시저 생성
Create Proc dbo.DeleteAdminMemos
    @Num Int
As
    Begin Tran
        Delete AdminMemos
        Where Num = @Num
        --RollBack Tran
    Commit Tran

    --Select * From AdminMemos Where Num = @Num
Go
--[21] 실행
DeleteAdminMemos 100
Go
--[22] 검색 저장 프로시저 : 저장 프로시저보다는 동적 쿼리문이라고 부름.
Create Proc dbo.SearchAdminMemos
    @Content VarChar(50)
As
    Declare @strSql VarChar(255)
    Set @strSql = '
        Select Num, Content
        From AdminMemos
        Where [Content] Like ''%' + @Content + '%''
    '
    Exec(@strSql) -- 동적으로 만든 SQL문을 실행하는 명령어
Go
--[23] 동적쿼리문으로 검색
SearchAdminMemos '안녕'
Go
SearchAdminMemos '방가'
Go

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 16. 저장 프로시저 2 - 레드플러스 2003-12-05 8079
  15. 저장 프로시저 1 - 레드플러스 2003-12-05 8102
  15.1. 저장 프로시저 사용 예제 : 카테고리 테이블 - 레드플러스 2005-12-27 9592
현재글 15.2. 저장 프로시저 관련 샘플 스크립트 - 레드플러스 2007-04-16 9106
  15.3. Categories 테이블 관련 저장 프로시저 연습 구문 - 레드플러스 2007-04-17 8348
  쿼리문 묶기 연습(동적 쿼리문 만들기) - 레드플러스 2014-02-06 6629
다음글 14. 인덱스 - 레드플러스 2003-12-05 7785
 
손님 사용자 Anonymous (손님)
로그인 Home