안녕하세요!
Oracle 이제 공부하기 시작한 학생입니다.
MSSql은 저장프로시저에서 return 해주면 cs코드에서 반환받을 수 있는데
오라클에서는 어떻게 해야되는지 오래 고민했는데 답이 풀리지 않아 질문올립니다ㅜㅜ
2가지 방법을 생각해보았습니다.
IF ELSE 문을 사용하여 하려고 합니다.
CREATE OR REPLACE PROCEDURE CheckID
(MemID in varchar2,MemPW in varchar2,out retVal)
IS
BEGIN
IF (select count(*) from IDTable where ID=MemID)>0
THEN
retVal:=1;
ELSE
retVal:=0;
END IF;
END CheckID;
IDTable에 입력받은 아이디와 같은 아이디가 하나라도 있다면 out 파라미터 retVal 1은 반환하고 없으면 0을 반환하게
하려고 하는 저장프로시저 코드를 작성했는데 안되네요 ㅠㅜ 심볼 Select를 만났다구..
두번 째 방법으로는
CREATE OR REPLACE PROCEDURE CheckID
(MemID in varchar2,MemPW in varchar2)
IS
retVal number;
BEGIN
Select ID,decode(ID,MemID,1,0) from IDTable;
END CheckID;
이것저것 알아보다 보니 Decode 란 함수를 사용하면 편할 것 같더라구요.
저기선 ID와 MemID가 같은게 잇다면 1을 반환하고 아니라면 0을 반환하라는 의미로 생각해서 작성한건데..
select 절에 into가 없다고 에러가 뜨구 저 문법이 맞는지도 모르겠네요 ㅜㅜ
저 두 방법중 decode 를 사용하는게 더 맞는 방법이라고 생각이 드는데
답변 부탁드립니다..ㅜㅜ
cs코드에서 결과값을 반환받을 수 있는 방법이요..ㅜㅜ