안녕하세요.
회사의 운영업무가 다소 많은 관계로 PL/SQL 개발을 하고 있습니다.
헌데, SELECT 절에서 리턴된 데이터가 존재하지 않을시 EXCEPTION 영역으로 빠져버려서
BEGIN 안에 있는 INSERT, UPDATE, DELETE등 DML 작업을 수행하지 않는데, 만약 하나의 SELECT 절에서
리턴된 데이터가 없더라도 BEGIN안에 있는 DML문장을 수행할 수 있는 방법은 없을까요??
BEGIN안에 SELECT된 조건으로 수행여부가 IF문으로 정의는 되어 있습니다.
[예제]
create or replace procedure PROC_EMP_DropEMP(EMPID IN VARCHAR2)
is
각종 변수선언
begin
select 문장1;
select 문장2;
select 문장3;
문장1의 조건문 실행
INSERT, UPDATE, DELETE
문장2의 조건문 실행
INSERT, UPDATE, DELETE
문장3의 조건문 실행
INSERT, UPDATE, DELETE
EXCEPTION WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('예외발생');
ROLLBACK;
end;
|