오라클 프로시저 관련 질문입니다. 0 0 1,344

by 순서기 [PL/SQL] [2015.03.25 16:48:14]


create or replace procedure pro_calc
(inp1 in pro.input1%type, inp2 in pro.input2%type, result out varchar2)
is
var_inp1 varchar2(10);
var_inp2 varchar2(10);
var_out1 varchar2(10);--덧셈
var_out2 varchar2(10);--뺄셈
var_out3 varchar2(10);--곱셈
var_out4 varchar2(10);--나눗셈
begin
    var_out1:= inp1+inp2;
    var_out2:= inp1-inp2;
    var_out3:= inp1*inp2;
    var_out4:= round(inp1/inp2);
    result := ''; --결과값 출력
    
   select input1,input2 into var_inp1,var_inp2 from pro where input1=inp1 and input2=inp2; --iNPUT1 ,inp1 같은 값이 있으면 TEST1 변수에 입력됨
   
   exception when no_data_found then  -- 만약 위 SELECT INTO 에서 값이 없다면 바로 예외가 발생하여 위 dbms_output 문은 실행되지 않고 아래가 실행됨.

   insert into pro values(inp1,inp2,var_out1,var_out2,var_out3,var_out4); -- 테이블에 값을 INSERT 
   commit;
   
   when zero_divide then
   result :='0으로나눌수없습니다.';
   rollback;
   
   

   end;

이렇게 되어있을때 입력받는 값이 문자열일때 실행이 안되게 하고,  마지막에 select로 가져오게 하는법을 모르겠습니다.

오전부터 지금까지 프로시져를 공부하는데 도와주세요...

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입