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로 가져오게 하는법을 모르겠습니다.
오전부터 지금까지 프로시져를 공부하는데 도와주세요...