11강 프로시저 질문있습니다!!
242
작성한 질문수 19
sql developer에서
패키지 만드는 중
WEB_MAIN------------------------
create or replace PACKAGE web_main AS
PROCEDURE selectLogin
(
In_userId IN VARCHAR2,
ref_cursor OUT SYS_REFCURSOR
);
PROCEDURE insertBorder
(
In_userId IN VARCHAR2,
In_userIp IN VARCHAR2,
In_title IN VARCHAR2,
In_mytextarea IN VARCHAR2
);
PROCEDURE selectBorder
(
ref_cursor OUT SYS_REFCURSOR
);
PROCEDURE selectBorderView
(
In_borderId IN NUMBER,
ref_cursor OUT SYS_REFCURSOR
);
PROCEDURE insertBorderReply
(
In_originalId IN NUMBER,
In_userId IN VARCHAR2,
In_userIp IN VARCHAR2,
In_title IN VARCHAR2,
In_mytextarea IN VARCHAR2
);
END web_main;
----------------------------------------------------
위와 같이 작성되었고
WEB_MAIN Body는
create or replace PACKAGE BODY WEB_MAIN AS
PROCEDURE selectLogin
(
In_userId IN VARCHAR2,
ref_cursor OUT SYS_REFCURSOR
) IS
BEGIN
OPEN ref_cursor FOR
SELECT
USER_ID AS USER_ID
FROM EGOV_USER
where USER_ID=In_userId;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('오류발생');
DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);
DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END selectLogin;
PROCEDURE insertBorder
(
In_userId IN VARCHAR2,
In_userIp IN VARCHAR2,
In_title IN VARCHAR2,
In_mytextarea IN VARCHAR2
) IS
BEGIN
INSERT INTO EGOV_BBS
(
borderid,
bordertype,
group_num,
parentid,
group_order,
group_tab,
userid,
nickname,
writerip,
editid,
editip,
title,
bordertext,
seecount,
filename,
filetype,
fileurl,
replycount
)
VALUES
(
borderid_seq.nextval,
'0',
borderid_seq.currval,
0,
0,
0,
In_userId,
In_userId,
In_userIp,
'',
'',
In_title,
In_mytextarea,
0,
'',
'',
'',
0
);
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('오류발생');
DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);
DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
end insertBorder;
PROCEDURE selectBorder
(
ref_cursor OUT SYS_REFCURSOR
) IS
BEGIN
OPEN ref_cursor FOR
SELECT
borderid,
group_tab,
nickname,
writeday,
title,
seecount
FROM EGOV_BBS
ORDER BY GROUP_NUM DESC,GROUP_ORDER ASC;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('오류발생');
DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);
DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END selectBorder;
PROCEDURE selectBorderView
(
In_borderId IN NUMBER,
ref_cursor OUT SYS_REFCURSOR
) IS
BEGIN
OPEN ref_cursor FOR
SELECT
borderid,
nickname,
title,
bordertext
FROM EGOV_BBS
WHERE BORDERID=In_borderId;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('오류발생');
DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);
DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END selectBorderView;
PROCEDURE insertBorderReply
(
In_originalId IN VARCHAR2,
In_userId IN VARCHAR2,
In_userIp IN VARCHAR2,
In_title IN VARCHAR2,
In_mytextarea IN VARCHAR2
) IS
lo_group_num NUMBER(10,0);
lo_group_order NUMBER(10,0);
lo_group_tab NUMBER(10,0);
BEGIN
/*답글달고자하는 글의 데이터를 로컬변수에 저장.*/
SELECT
group_num,
group_order,
group_tab
INTO
lo_group_num,
lo_group_order,
lo_group_tab
FROM EGOV_BBS
WHERE borderid = In_originalId;
/*기존글 형식을 맞추기위해 업데이트*/
UPDATE EGOV_BBS
set group_order = group_order + 1
WHERE group_num = lo_group_num
AND group_order > lo_group_order;
IF(lo_group_order = 0)
THEN
SELECT
MAX(group_order)
INTO
lo_group_order
FROM EGOV_BBS
WHERE group_num = lo_group_num;
END IF;
/*답글달고자하는 글의 데이터를 로컬변수에 저장.*/
INSERT INTO EGOV_BBS
(
borderid,
bordertype,
group_num,
parentid,
group_order,
group_tab,
userid,
nickname,
writerip,
editid,
editip,
title,
bordertext,
seecount,
filename,
filetype,
fileurl,
replycount
)
VALUES
(
borderid_seq.nextval,
'0',
lo_group_num,
In_originalId,
lo_group_order+1,
lo_group_tab+1,
In_userId,
In_userId,
In_userIp,
'',
'',
In_title,
In_mytextarea,
0,
'',
'',
'',
0
);
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('오류발생');
DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);
DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END insertBorderReply;
END WEB_MAIN;
---------------------------------위와 같이 작성되었는데,
답변 1
0
안녕하세요 답변입니다.
선언쪽:
PROCEDURE insertBorderReply(
In_originalId IN NUMBER,
본문쪽:
PROCEDURE insertBorderReply(
In_originalId IN VARCHAR2,
In_originalId의 타입이 일치하지 않아서 생기는 오류입니다.
아마 해당 웹페이지도 프로시저 오류로 동작을 안할 것으로 보입니다.
In_originalId의 타입을 하나로 통일시켜주시면 해결 될 것 같습니다.
감사합니다.
신규강의 쿠폰 건
0
51
1
개발환경 구축 중 이클립스 프로젝트 해결 방법 문의
0
132
2
1강 HTTP 상태 404 에러
0
157
2
섹션2 3강부터 추가 강의는 언제 업데이트 될까요?
0
155
2
전자정부프레임워크 버전+신규 강의 관련 질문
0
345
2
전자정부프레임워크를 다운받지않고 STS 에서 위 강의를 진행하고싶은데 방법이있을까요?
0
202
1
EA + egovframe 신규 강의 무료쿠폰 메일
0
219
1
강의 쿠폰 문의 드립니다
0
191
1
신규강의 요청드립니다.
0
222
1
[V2.0 추가중_로그인,회원가입,VO] 3강의는 언제 올려주는지 문의 드립니다.
0
219
1
신규강의 요청드립니다!
0
194
1
신규강의 요청드립니다!
0
193
1
신규강의 요청드립니다.
0
236
1
9강 -1 마지막 실습
0
311
0
신규강의 무료쿠폰 신청 부탁드립니다. 감사합니다 즐거운 설되셔요
0
443
1
신규강의 무료 쿠폰 신청합니다!
0
321
1
신규강의 무료쿠폰 신청합니다~
0
306
1
안녕하세요, 다름이 아니라 톰캣 설치 과정에서 막히는 부분이 있어서 문의드립니다.
0
355
2
5강 /main5.do 호출시 화면이 안나옵니다
0
464
1
무료쿠폰 발급 요청방법
2
3483
0
1강 환경변수 설정 보고 하고있는데.. 오류 발생
0
580
2
9강 AOP 진행하는데 Error가 이렇게 뜨는데 다 지우고 따라해도 해결이 안되서 질문 올립니다!
1
1211
1
쿠폰 발급 요청방법
1
1399
1
EA + egovframe 쿠폰
0
382
1





