본문 바로가기

Programming/DataBase

(ORACLE) PROCEDURE 에서 원하는 데이터를 찍어보자!

728x90
반응형

CREATE OR REPLACE PROCEDURE BookInsertOrUpdate(

  myBookID NUMBER,
  myBookName VARCHAR2, 
  myPublisher in VARCHAR2,
  myPrice in NUMBER
  ) 
AS
 mycount NUMBER;
BEGIN
DBMS_OUTPUT.DISABLE;
DBMS_OUTPUT.ENABLE;

  SELECT count(*) into mycount FROM Book 
    WHERE bookname LIKE myBookName; 
    DBMS_OUTPUT.PUT_LINE(mycount);
  IF mycount!=0 THEN
  DBMS_OUTPUT.PUT_LINE('if문 들어옴!');
    UPDATE Book SET price = myPrice
      WHERE bookname LIKE myBookName;
  ELSE
  DBMS_OUTPUT.PUT_LINE('else문 들어옴!');
    INSERT INTO Book(bookid, bookname, publisher, price)
      VALUES(myBookID, myBookName, myPublisher, myPrice);
  END IF;
END;

프로시저를 생성한 후, 코드의 진행을 확인하고 싶을 때 DBMS_OUTPUT.PUT_LINE을 사용하여 변수나, 원하는 문장을 출력할 수 있습니다.

 

하지만 이상태로 바로 실행하게 된다면 출력이 안될 수 있습니다.

 

 

SET SERVEROUTPUT ON; 

이 코드를 먼저 실행 하여 화면에 출력할 수 있게 만든 후에 실행하면 이상없이 출력되게 됩니다. 

 

 

1
if문 들어옴!


PL/SQL 프로시저가 성공적으로 완료되었습니다.

출력결과입니다.

반응형