Windows Server 2008 / SQL Server 2008 / Visual Studio 복습 (저장프로시저까지)
- 설치 : hostname, ipconfig /all, ping, localhost/127.0.0.1 : 로컬 루프백 주소
- 사용자 : sp / Pa$$w0rd, net user, net localgroup
- NFTS : everyone, IUSR_컴퓨터명, Network Service
- 공유 : UNC
- 웹 : URL, WWW(80포트)
- FTP : 21번포트
- DNS : nslookup
- 미디어서버 : MMS://
- 백업/복원, 메일(전송 : SMTP(25번포트), 수신 : POP3(110번 포트))
- 원격관리 : "Remote Desktop Users"
- 설치 : (local)\SQLExpress, (local)
- 데이터베이스 : sp
- 로그인 : sp / Pa$$w0rd
- UDL
- 테이블 : AdminMemos
- SQL문
- T-SQL
- 개체 : 테이블, 뷰, 저장프로시저
- DTS
- 백업 및 복원
- 설치
- 새 웹 사이트
- Web.config : SQL Server 레벨의 데이터베이스 연결문자열 설정
- 웹 폼 생성
- 입력 페이지 작성
- 출력 페이지 작성
목표 : http://www.sp.com/AdminMemo/Default/aspx
한줄 짜리 메모를 입력하고, 출력하는 웹 애플리케이션이 여러분들 서버에서 가동되도록 하자…
Windows Server 레벨
SQL Server 레벨
Visual Studio 레벨
==============================================================================================
==> 쿼리문(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