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 프로시저가 성공적으로 완료되었습니다.
출력결과입니다.
반응형
'Programming > DataBase' 카테고리의 다른 글
[DataBase]윈도우 함수(Window Function)에 대해 알아보자! 2편 (0) | 2019.03.03 |
---|---|
[DataBase]윈도우 함수(Window Function)에 대해 알아보자! 1편 (2) | 2019.03.02 |
[DataBase]그룹 함수(Group Function)에 대해 알아보자! (0) | 2019.03.02 |
[DataBase]서브쿼리(Subquery)란 무엇일까? (0) | 2019.03.01 |
[DataBase]계층형 조회(Connect by)를 사용하는 법을 알아보자! (1) | 2019.03.01 |