답변형 댓글 로직
/*==============================================================================
업 무 명 : 블로그 포스트 댓글 등록
프로그램명 : 댓글등록
최초작성일 : 2010/11/03
최종작성일 :
개 발 자 : 지 상 훈
수 정 자 :
참고 사항 :
================================================================================*/
ALTER PROCEDURE [dbo].[UP_post_replys_Insert]
@pidx int,
@cidx int,
@Writer Varchar(20),
@Contents varchar(2000),
@Pwd varchar(20),
@url varchar(100),
@secretYN char(1),
@regip varchar(15),
@icon varchar(50)
AS
SET NOCOUNT ON
BEGIN TRAN
declare @groupNo int, @msgLevel int, @sortOrder int,@refNo int, @border int,@myorder int
declare @newsortOrder int, @newmsgLevel int, @rst int
if (@cidx = 0)
begin
select @refNo = isnull(max(refNo), 0) + 1,
@newsortOrder = 0,
@newmsgLevel = 0
from dbo.TB_post_replys
where pidx = @pidx
end
else
begin
select @refNo = refNo,
@msgLevel = msgLevel,
@sortOrder = sortOrder
from dbo.TB_post_replys
where pidx = @pidx and cidx = @cidx
select @rst = min(sortOrder)
from dbo.TB_post_replys
where refNo = @refNo and sortOrder>@sortOrder
and msgLevel<=@msgLevel
if(@rst is null)
begin
select @newsortOrder = max(sortOrder) + 1
from dbo.TB_post_replys
where pidx = @pidx and refNo = @refNo
end
else
begin
Update dbo.TB_post_replys
set sortOrder = sortOrder + 1
where pidx = @pidx and refNo = @refNo and sortOrder >= @rst
set @newsortOrder = @rst
end
set @newmsgLevel = @msgLevel + 1
end
insert dbo.TB_post_replys(pidx, refNo, msgLevel, sortOrder,Writer,
Contents,pwd,url,secretYN,regip,icon,regdate)
values (@pidx, @refNo, @newmsgLevel, @newsortOrder,@Writer,
@Contents,@pwd,@url,@secretYN,@regip,@icon, getdate())
IF(@@ERROR<>0)
begin
Rollback tran
return
end
Commit Tran