.NET프로그래밍/SQL Server 2008

Windows Server 2008 / SQL Server 2008 / Visual Studio 복습 (저장프로시저까지)

holland14 2009. 9. 15. 15:24
 


    목표 : http://www.sp.com/AdminMemo/Default/aspx

    한줄 짜리 메모를 입력하고, 출력하는 애플리케이션이 여러분들 서버에서 가동되도록 하자…

     

    Windows Server 레벨

  1. 설치 : hostname, ipconfig /all, ping, localhost/127.0.0.1 : 로컬 루프백 주소
  2. 사용자 : sp / Pa$$w0rd, net user, net localgroup
  3. NFTS : everyone, IUSR_컴퓨터명, Network Service
  4. 공유 : UNC
  5. : URL, WWW(80포트)
  6. FTP : 21번포트
  7. DNS : nslookup
  8. 미디어서버 : MMS://
  9. 백업/복원, 메일(전송 : SMTP(25번포트), 수신 : POP3(110 포트))
  10. 원격관리 : "Remote Desktop Users"
  11.  

    SQL Server 레벨

  12. 설치 : (local)\SQLExpress, (local)
  13. 데이터베이스 : sp
  14. 로그인 : sp / Pa$$w0rd
  15. UDL
  16. 테이블 : AdminMemos
  17. SQL
  18. T-SQL
  19. 개체 : 테이블, , 저장프로시저
  20. DTS
  21. 백업 복원
  22.  

    Visual Studio 레벨

  23. 설치
  24. 사이트
  25. Web.config : SQL Server 레벨의 데이터베이스 연결문자열 설정
  26. 생성
  27. 입력 페이지 작성
  28. 출력 페이지 작성





==============================================================================================





==> 쿼리문(SQL문, T-SQL문)으로 테이블생성/입력/수정 등등 부터 ~ 뷰(View)와 저장프로시저(입력, 수정, 출력, 상세 등등) 생성하고 실행하기.



--[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

 

 

-- 간단한T-SQL 저장프로시저문법

--[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) -- Text?

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] 실행: 100번레코드삭제

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