게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
오라클 프로시저 메시지 출력하는 방법질문...
게시물ID : programmer_14463짧은주소 복사하기
작성자 : 고령
추천 : 0
조회수 : 619회
댓글수 : 1개
등록시간 : 2015/11/17 16:51:47
옵션
  • 본인삭제금지
  • 외부펌금지
지난번에 질문했던걸 좀 더 수정해서 커서문을 사용했는데요

CREATE OR REPLACE PROCEDURE in_emp
(new_empno in emp.empno%type, 
new_ename in emp.ename%type, 
new_deptno in emp.deptno%type)

IS

v_empno emp.empno%type;
v_ename emp.ename%type;
v_deptno emp.deptno%type;

cursor emp_cursor is
select e.empno, e.ename, d.deptno
from emp e, dept d
where e.deptno = d.deptno;

begin

open emp_cursor;
fetch emp_cursor into v_empno,v_ename, v_deptno;
if new_empno = v_empno then
dbms_output.put_line('새로운 번호 입력');
elsif new_deptno = v_deptno then
dbms_output.put_line('있는 번호로 입력');
else insert into emp(empno, ename, deptno)
values (new_empno, new_ename, new_deptno);
end if;
close emp_cursor;
end;
/

프로시저도 제대로 생성되고
제대로 된 값을 입력하면 emp테이블에 값도 잘 입력됩니다.

SQL> exec in_emp(7934, 'BLACK', 50);
BEGIN in_emp(7934, 'BLACK', 50); END;

*
ERROR at line 1:
ORA-00001: unique constraint (S214210031.PK_EMP) violated
ORA-06512: at "S214210031.IN_EMP", line 25
ORA-06512: at line 1

잘못된 값을 입력하면 '새로운 번호 입력' || '있는 번호로 입력'이 메시지로 나와야 되는데
친구들과 고민해봤는데 커서문을 하나 더 사용해야된다, if문에서 잘못되었다는 등
메시지를 출력하려면 어떤 방법을 사용해야 할까요
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호