게시판에서 글쓰기와 답글을 저장할때 사용하는 쿼리문인데. 조금 부족한 점이 많네요 다른 쿼리문이 있다던지 아니면 제것중에 수정해야 할부분이 있다면 지적해주세요.^^
--게시판 테스트 버젼입니다. 글을 입력한다.
CREATE PROCEDURE Test_bbs_insert
@title nvarchar(50),
@content text,
@name nvarchar(50),
@type varchar(50),
@W_NO int,
@group int, --비교항목(글그룹)1
@depth int, --비교항목(글깊이)3
@gdepth int --비교항목(글깊이그룹)2
AS
declare @bbs_w_wgroup int
declare @bbs_w_depth int
declare @bbs_w_depth_group int
declare @w_group int
--//답글을 사용하기 위한 변수......
DECLARE @STEP1 INT -- 답글에서 글깊이를 설정하기 위한 변수현재 글그룹에서 제일 상위의 글깊이
DECLARE @STEP2 INT -- 답글에서 저장 하기 위한 글깊이 변수
DECLARE @STEP3 INT -- 답글에서 글 깊이그룹을 저장하기위해 글깊이그룹의 최상위의글그룹
DECLARE @STEP4 INT -- 답글에서 저장 할 글 깊이그룹
DECLARE @MAX_DEPTH INT --같은 글번호, 글깊그룹 중에서글깊이가 제일 큰것
set @w_group = (select max(bbs_w_group) from test_bbs)
--//============================== << 글쓰기 모드일경우에 사용한다 >> =================================================.
if ( @type = 'write' ) --글쓰기 모드이면
begin
if (@w_group is null) -- 글그룹이 null 이면...
begin
set @bbs_w_wgroup = 0
end
else -- 글그룹이 null이 아니면..
begin
set @bbs_w_wgroup = @w_group + 1
end
set @bbs_w_depth = 0
set @bbs_w_depth_group = 0
end
--//===================================================================================================================
ELSE --<< rewrite모드 답글모드이면 >>---
BEGIN
--// 글 깊이를 설정하기위한 쿼리......
SET @STEP1 = (SELECT MAX(BBS_W_DEPTH) FROM TEST_BBS
WHERE [NO] = @W_NO AND BBS_W_GROUP = @GROUP)
IF @STEP1 IS NULL
BEGIN
SET @bbs_w_depth = '0'
END
ELSE
BEGIN
SET @bbs_w_depth= @STEP1+ '1'
END
--// 글깊이 그룹을 설정하기 위한 ...변수설정
SET @STEP3 = (SELECT MAX(BBS_W_DEPTH_GROUP) FROM TEST_BBS
WHERE BBS_W_GROUP = @GROUP AND BBS_W_DEPTH = @bbs_w_depth)
IF (@bbs_w_depth> '1')
BEGIN
SET @bbs_w_depth_group = @gdepth
END
ELSE
BEGIN
IF @STEP3 IS NULL
BEGIN
SET @bbs_w_depth_group = '1'
END
ELSE
BEGIN
SET @bbs_w_depth_group = @STEP3 + '1'
END
END
SET @bbs_w_wgroup = @GROUP
END
--//==================================================================================================================
insert into test_bbs(bbs_title, bbs_content, bbs_name, bbs_w_group, bbs_w_depth, bbs_w_depth_group, BBS_COUNT, BBS_DATE)
values(@title, @content, @name, @bbs_w_wgroup , @bbs_w_depth, @bbs_w_depth_group, '0', GETDATE())
GO
[출처] 웹디황용
"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기, 각종 광고, 영업, 판매, 제안서, 전단지 반응율 3배×10배 이상 높이는 마법의 8단계 공식" |
☞자세히보기 |
|
|