본문 바로가기

ASP.NET 기초 게시판/BasicBoard

MSSQL▶ 테이블 & 글삭제 + 비밀번호비교(확인) 프로시져


테이블
create table Board
(
idx int primary key,
bref int foreign key references Board(idx),
btitle nvarchar(100),
bcontents nvarchar(2000),
bname nvarchar(10),
bdate smalldatetime default(getdate()),
bpwd varchar(4),
bvisit int default(0),
bstate bit default(0),--공개-0 비공개- 1
banswer bit default(0)--원본글-0 답글- 1
)
Tip. 테이블을 drop하지않고 bpassword의 자료형을 nvarchar(6)로 바꿔주기
ALTER TABLE BasicBoard
ALTER COLUMN bpassword nvarchar(6)

비밀번호체크 / 글삭제 프로시져
create proc SP_BasicBoard_PwdCheck(@idxNum int,@pwdChk varchar(6),@chkType varchar(4))
as
begin
 declare @errCode tinyint
 if(exists(select * from Board where idx=@idxNum and bpassword = @pwdChk))
 begin
  --비밀번호가 맞을경우
  set @errCode = 0
 end
 else
 begin
  --비밀번호가 다를경우
  set @errCode = 1
 end
 if(@errCode = 0 and @chkType = 'del')
  delete from Board where idx=@idxNum
 -- @errcode : 0-비밀번호 맞음 , 1-비밀번호 다름
 select @errcode
end
@idxNum - 번호를 말한다.
@pwdChk  - 사용자가 입력한 비밀번호를 말한다.(원래의 비밀번호와 비교될 대상) 
@chkType  - 비밀번호를 비교(확인)하는 이유가 '수정'인지 '삭제'인지 구분한다.

실행 결과값은 0 또는 1로만 출력된다.