공부하시는분들 도움돼셧으면 합니다.
-- [0] 기본 게시판(BASIC)용 테이블 설계
-- [!] DROP Table dbo.Basic
CREATE TABLE dbo.Basic
(
Num INT IDENTITY(1,1) NOT NULL PRIMARY KEY, -- 번호
[Name] VARCHAR(25) NOT NULL, -- 이름
Email VARCHAR(100) NULL, -- 이메일
Title VARCHAR(150) NOT NULL, -- 제목
PostDate DATETIME DEFAULT GETDATE() NOT NULL, -- 작성일
PostIP VARCHAR(15) NOT NULL, -- 작성 IP
Content TEXT NOT NULL, -- 내용
[Password] VARCHAR(20) NOT NULL, -- 비밀번호
ReadCount INT DEFAULT 0, -- 조회수
Encoding VARCHAR(10) NOT NULL, -- 인코딩(HTML/TEXT)
Homepage VARCHAR(100) NULL, -- 홈페이지
ModifyDate SMALLDATETIME NULL, -- 수정일
ModifyIP VARCHAR(15) NULL -- 수정 IP
)
Go
-- [1] 입력 : Write.aspx
INSERT Basic
VALUES
(
'씨앗', 'cid@seed.com', '새해 복', GETDATE(), '127.0.0.1', '새해 福 많이 받으세요', '2006', '0', 'TEXT', 'http://www.cid.com', GETDATE(), NULL
)
INSERT Basic
VALUES
(
'거니', 'guni@seed.com', '새해 복받으3!', GETDATE(), '127.0.0.8', '새해 福 많이33=3 =3', '2006', '0', 'TEXT', '', GETDATE(), ''
)
INSERT Basic
VALUES
(
'시드', 'seed@seed.com', '새해 복이요~', GETDATE(), '127.0.0.2', '아케마시떼 오메데토~', '2006', '0', 'TEXT', NULL, NULL, NULL
)
INSERT Basic
VALUES
(
'쓰베', 'soo@seed.com', '복복복!!!', GETDATE(), '127.0.0.3', '2006년에도 달리삼...', '2006', '0', 'TEXT', NULL, NULL, NULL
)
INSERT Basic
VALUES
(
'시드군', 'seed@seed.com', '새해 복이요~', GETDATE(), '127.0.0.2', '아케마시떼 오메데토~', '2006', '0', 'TEXT', NULL, NULL, NULL
)
INSERT Basic
VALUES
(
'피스', 'peace@seed.com', '근하신년', GETDATE(), '127.0.0.9', '2006에도 와우!!!', '2006', '0', 'TEXT', '', '', ''
)
-- [2] 출력 : List.aspx
Select
Num, Name, Email, Title, PostDate, ReadCount
From Basic --Join On
-- Where
-- Group By
-- Having
Order By Num Desc
-- [3] 상세 : View.aspx
Select *
From Basic
Where Num = 5
-- [4] 수정 : Modify.aspx
Begin Tran
Update Basic
Set
Name = '씨앗',
Email = 'cidsang@seed.com',
Homepage = 'http://www.cidsang.com/',
Title = 'Happy New Year',
Content = '<u>!!! Happy New Year !!!</u>',
Encoding = 'HTML',
ModifyDate = GetDate(),
ModifyIP = '127.0.0.1'
Where Num = 5
-- RollBack Tran
Commit Tran
-- [5] 삭제 : Delete.aspx
Begin Transaction
Delete Basic
Where Num = 5
-- RollBack Transaction
Commit Transaction
-- [6] 검색 : Seach.aspx
Select *
From Basic
Where
Name Like '%씨%'
Or
Title Like '복%'
Or
Content Like '%福'
-- [7] 기본 게시판(Basic)에 글을 작성하는 저장 프로시저 : procWriteBasic
Create Proc dbo.procWriteBasic
@Name VarChar(25),
@Email VarChar(100),
@Title VarChar(150),
@PostIP VarChar(15),
@Content Text,
@Password VarChar(20),
@Encoding VarChar(10),
@Homepage VarChar(100)
-- With Encryption
As
Insert Basic
(
Name, Email, Title, PostIP, Content,
Password, Encoding, Homepage
)
Values
(
@Name, @Email, @Title, @PostIP, @Content,
@Password, @Encoding, @Homepage
)
Go
-- [8] 기본 게시판(Basic)에서 데이터를 읽어오는 저장 프로시저 : procListBasic
Create Procedure dbo.procListBasic
As
Select *
From Basic
Order By Num Desc
Go
-- [9] 조회수 증가시켜주는 저장 프로시저 : procUpdateReadCount
Create Proc dbo.procUpdateReadCountBasic
@Num Int
As
Update Basic
Set ReadCount = ReadCount + 1
Where Num = @Num
Go
-- [10] 해당 글을 세부적으로 읽어오는 저장 프로시저 : procViewBasic
Create Procedure dbo.procViewBasic
@Num Int
As
Select *
From Basic
Where Num = @Num
Go
-- [11] 해당 글에 대한 비밀번호 읽어오는 저장 프로시저 : procReadPassword
Create Proc dbo.procReadPasswordBasic
@Num Int
As
Select Password
From Basic
Where Num = @Num
Go
-- [12] 해당 글 지우는 저장 프로시저 : procDeleteBasic
Create Proc dbo.procDeleteBasic
@Num Int
As
Delete Basic Where Num = @Num
Go
-- [13] 해당 글을 수정하는 저장 프로시저 : procUpdateBasic
Create Proc dbo.procUpdateBasic
@Name VarChar(25),
@Email VarChar(100),
@Title VarChar(150),
@ModifyIP VarChar(15),
@ModifyDate DateTime,
@Content Text,
@Encoding VarChar(10),
@Homepage VarChar(100),
@Num Int
As
Update Basic
Set
Name = @Name,
Email = @Email,
Title = @Title,
ModifyIP = @ModifyIP,
ModifyDate = @ModifyDate,
Content = @Content,
Encoding = @Encoding,
Homepage = @Homepage
Where Num = @Num
Go
-- [0] 기본 게시판(BASIC)용 테이블 설계
-- [!] DROP Table dbo.Basic
CREATE TABLE dbo.Basic
(
Num INT IDENTITY(1,1) NOT NULL PRIMARY KEY, -- 번호
[Name] VARCHAR(25) NOT NULL, -- 이름
Email VARCHAR(100) NULL, -- 이메일
Title VARCHAR(150) NOT NULL, -- 제목
PostDate DATETIME DEFAULT GETDATE() NOT NULL, -- 작성일
PostIP VARCHAR(15) NOT NULL, -- 작성 IP
Content TEXT NOT NULL, -- 내용
[Password] VARCHAR(20) NOT NULL, -- 비밀번호
ReadCount INT DEFAULT 0, -- 조회수
Encoding VARCHAR(10) NOT NULL, -- 인코딩(HTML/TEXT)
Homepage VARCHAR(100) NULL, -- 홈페이지
ModifyDate SMALLDATETIME NULL, -- 수정일
ModifyIP VARCHAR(15) NULL -- 수정 IP
)
Go
-- [1] 입력 : Write.aspx
INSERT Basic
VALUES
(
'씨앗', 'cid@seed.com', '새해 복', GETDATE(), '127.0.0.1', '새해 福 많이 받으세요', '2006', '0', 'TEXT', 'http://www.cid.com', GETDATE(), NULL
)
INSERT Basic
VALUES
(
'거니', 'guni@seed.com', '새해 복받으3!', GETDATE(), '127.0.0.8', '새해 福 많이33=3 =3', '2006', '0', 'TEXT', '', GETDATE(), ''
)
INSERT Basic
VALUES
(
'시드', 'seed@seed.com', '새해 복이요~', GETDATE(), '127.0.0.2', '아케마시떼 오메데토~', '2006', '0', 'TEXT', NULL, NULL, NULL
)
INSERT Basic
VALUES
(
'쓰베', 'soo@seed.com', '복복복!!!', GETDATE(), '127.0.0.3', '2006년에도 달리삼...', '2006', '0', 'TEXT', NULL, NULL, NULL
)
INSERT Basic
VALUES
(
'시드군', 'seed@seed.com', '새해 복이요~', GETDATE(), '127.0.0.2', '아케마시떼 오메데토~', '2006', '0', 'TEXT', NULL, NULL, NULL
)
INSERT Basic
VALUES
(
'피스', 'peace@seed.com', '근하신년', GETDATE(), '127.0.0.9', '2006에도 와우!!!', '2006', '0', 'TEXT', '', '', ''
)
-- [2] 출력 : List.aspx
Select
Num, Name, Email, Title, PostDate, ReadCount
From Basic --Join On
-- Where
-- Group By
-- Having
Order By Num Desc
-- [3] 상세 : View.aspx
Select *
From Basic
Where Num = 5
-- [4] 수정 : Modify.aspx
Begin Tran
Update Basic
Set
Name = '씨앗',
Email = 'cidsang@seed.com',
Homepage = 'http://www.cidsang.com/',
Title = 'Happy New Year',
Content = '<u>!!! Happy New Year !!!</u>',
Encoding = 'HTML',
ModifyDate = GetDate(),
ModifyIP = '127.0.0.1'
Where Num = 5
-- RollBack Tran
Commit Tran
-- [5] 삭제 : Delete.aspx
Begin Transaction
Delete Basic
Where Num = 5
-- RollBack Transaction
Commit Transaction
-- [6] 검색 : Seach.aspx
Select *
From Basic
Where
Name Like '%씨%'
Or
Title Like '복%'
Or
Content Like '%福'
-- [7] 기본 게시판(Basic)에 글을 작성하는 저장 프로시저 : procWriteBasic
Create Proc dbo.procWriteBasic
@Name VarChar(25),
@Email VarChar(100),
@Title VarChar(150),
@PostIP VarChar(15),
@Content Text,
@Password VarChar(20),
@Encoding VarChar(10),
@Homepage VarChar(100)
-- With Encryption
As
Insert Basic
(
Name, Email, Title, PostIP, Content,
Password, Encoding, Homepage
)
Values
(
@Name, @Email, @Title, @PostIP, @Content,
@Password, @Encoding, @Homepage
)
Go
-- [8] 기본 게시판(Basic)에서 데이터를 읽어오는 저장 프로시저 : procListBasic
Create Procedure dbo.procListBasic
As
Select *
From Basic
Order By Num Desc
Go
-- [9] 조회수 증가시켜주는 저장 프로시저 : procUpdateReadCount
Create Proc dbo.procUpdateReadCountBasic
@Num Int
As
Update Basic
Set ReadCount = ReadCount + 1
Where Num = @Num
Go
-- [10] 해당 글을 세부적으로 읽어오는 저장 프로시저 : procViewBasic
Create Procedure dbo.procViewBasic
@Num Int
As
Select *
From Basic
Where Num = @Num
Go
-- [11] 해당 글에 대한 비밀번호 읽어오는 저장 프로시저 : procReadPassword
Create Proc dbo.procReadPasswordBasic
@Num Int
As
Select Password
From Basic
Where Num = @Num
Go
-- [12] 해당 글 지우는 저장 프로시저 : procDeleteBasic
Create Proc dbo.procDeleteBasic
@Num Int
As
Delete Basic Where Num = @Num
Go
-- [13] 해당 글을 수정하는 저장 프로시저 : procUpdateBasic
Create Proc dbo.procUpdateBasic
@Name VarChar(25),
@Email VarChar(100),
@Title VarChar(150),
@ModifyIP VarChar(15),
@ModifyDate DateTime,
@Content Text,
@Encoding VarChar(10),
@Homepage VarChar(100),
@Num Int
As
Update Basic
Set
Name = @Name,
Email = @Email,
Title = @Title,
ModifyIP = @ModifyIP,
ModifyDate = @ModifyDate,
Content = @Content,
Encoding = @Encoding,
Homepage = @Homepage
Where Num = @Num
Go