• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

삭제된 글

21.05.16 21:44 작성 조회수 134

0

'ELSE이면 기존 SELECT문에 ‘1’ AS COLUMN0,기존SELECT,을 추가하여 사용~'  이 부분이 이해가 안되는데

프로시저를 작성해서 보여주실 수 있나요?

답변 1

답변을 작성해보세요.

0

안녕하세요. 개발자PARK입니다.

아래부분에 프로시저부분을 적었습니다.

 In_title을 [DB단]에서 체크하여 그결과를 Controller[서버단(자바)]에서 받도록했습니다.

Controller[서버단(자바)]에서 [DB단]에서 받은 결과 중 COLUMN0값을  체크하여 DB에서 삭제된글인지 체크할 수 있습니다.

감사합니다.

(Controller[서버단(자바)]에서 삭제된글인지 체크하셔도 됩니다.)

    

[프로시저 선언부분입니다.]

  PROCEDURE selectBorderView

  (

    In_borderId IN NUMBER,

    In_title IN VARCHAR2,

In_nickname VARCHAR2,

    ref_cursor OUT SYS_REFCURSOR

  );

  

[프로시저 BODY부분입니다.]

  PROCEDURE selectBorderView

  (

    In_borderId IN NUMBER,

    In_title IN VARCHAR2,

In_nickname VARCHAR2,

    ref_cursor OUT SYS_REFCURSOR

  ) IS

  BEGIN

    IF(In_title = '삭제된글' AND In_nickname = '')

   THEN

        OPEN ref_cursor FOR

           SELECT '0' AS COLUMN0 FROM DUAL;

    ELSE

    OPEN ref_cursor FOR

        SELECT

        '1' AS COLUMN0,

        borderid,

        nickname,

        title,

        bordertext

        FROM EGOV_BBS

        WHERE BORDERID=In_borderId;

   

    END IF;

    EXCEPTION WHEN OTHERS THEN

        DBMS_OUTPUT.PUT_LINE('오류발생');

        DBMS_OUTPUT.PUT_LINE('에러내용:'||SQLERRM);

        DBMS_OUTPUT.PUT_LINE('발생위치:'||DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);

  END selectBorderView;