기본 메모장 테이블 설계와 저장 프로시저를 설계하였습니다.
Memos 테이블 설계 |
Create Table dbo.Memos ( Num
Int Identity(1, 1) Primary
Key, Name VarChar(25) Not Null, Email
VarChar(50) Null, Title
VarChar(150) Not Null, PostDate
DateTime Default(GetDate()), PostIP
VarChar(15) Null ) Go |
입력 저장 프로시저 : AddMemo |
Create Proc dbo.AddMemo @Name
VarChar(25), @Email VarChar(50),
@Title
VarChar(150), @PostIP VarChar(15) As Insert Into Memos Values(@Name, @Email, @Title, GetDate(), @PostIP) Go |
출력 저장 프로시저(기본 페이징) : GetMemos |
Create Proc dbo.GetMemos As Select * From Memos Order By Num Desc Go |
출력 저장 프로시저(고급 페이징) : GetMemos |
Alter Proc dbo.GetMemos
-- SQL Server 2005 전용 @Page
Int -- 몇번째 페이지 보여줄지? 0 : 1페이지, 99면 : 100페이지 As Select Top 10 * From Memos
Where Num
Not In ( Select Top (10 * @Page) Num From
Memos Order By Num Desc ) Order By Num Desc Go |
출력 저장 프로시저(고급 페이징) : GetMemos : 동 적 쿼리문 |
Alter Proc dbo.GetMemos
-- SQL Server 2000에서 사용한다면... @Page
Int As Declare @strSql VarChar(500) Set @strSql = ' Select Top 10 * From Memos Where Num Not In ( Select Top ' + Cast((10
* + @Page) As
VarChar) +
' Num From Memos Order By Num Desc ) Order By Num Desc ' Exec(@strSql) Go |
현재 Memos 테이블의 레코드 수 반환 : GetTotalMemo |
Create Proc dbo.GetTotalMemo As Select Count(*) As Total
From Memos Go -- 메모를 검색하는 저장 프로시저 Create Proc dbo.FindMemos @SearchField
VarChar(10), @SearchQuery
VarChar(25) As Set @SearchQuery = '%' +
@SearchQuery + '%' Select Top 100 * From Memos Where ( Case @SearchField When 'Name' Then Name When 'Title' Then Title Else @SearchQuery End ) Like @SearchQuery Order By Num Desc Go FindMemos 'Name',
'홍길' Go |
검색 결과에 대한 레코드 수 반환 |
Create Proc dbo.GetTotalFindMemo @SearchField
VarChar(10), @SearchQuery
VarChar(25) As Set @SearchQuery = '%' +
@SearchQuery + '%' Select Count(*) From Memos Where ( Case @SearchField When 'Name' Then Name When 'Title' Then Title Else @SearchQuery End ) Like @SearchQuery Go |
출력 저장 프로시저(고급 페이징) : GetMemos : 동 적 쿼리문 |
Create Proc dbo.GetFindMemos
-- SQL Server 2000에서 사용한다면... @Page
Int, @SearchField
VarChar(10), @SearchQuery
VarChar(25) As Declare @strSql VarChar(500) Set @strSql = ' Select Top 10 * From Memos Where ' + @SearchField + '
Like ''%' + @SearchQuery + '%'' And Num Not In ( Select Top ' + Cast((10
* + @Page) As
VarChar) +
' Num From Memos Where ' + @SearchField + ' Like ''%' + @SearchQuery + '%'' Order By Num Desc ) Order By Num Desc ' Exec(@strSql) Go |
예시문 : 100건 데이터 입력 |
Declare @i
Int Set @i = 1 While @i
<= 100 Begin Exec AddMemo '홍길동', 'h@h.com', '안녕하세요.', '127.0.0.1' Set @i = @i + 1 End |
'ASP.NET' 카테고리의 다른 글
19.jQuery - 메모장 웹서비스 설계 (2) | 2009.11.19 |
---|---|
18.jQuery - 메모장 Entity 설계 (0) | 2009.11.19 |
11.ASP.NET - C# ASP.NET 에서 FCKeditor 사용하기 [3] (0) | 2009.11.04 |
10.ASP.NET - C# ASP.NET 에서 FCKeditor 사용하기 [2] (0) | 2009.11.04 |
09.ASP.NET - C# ASP.NET 에서 FCKeditor 사용하기 [1] (0) | 2009.11.04 |
Comments