오라클에서 파라미터 표기법에 대한 질문요.. 0 5 1,989

by 미노 [2008.09.09 16:13:29]


파라미터라는 것이 대략적으로 뭔지 이해했거든요..

암튼 이를 테면....프로시져로 뭔가를 넣으려 할때..

procedure_name(인자값)

이런식으로 하잖아요?

받을때에는 in으로 받아들이구요...그런데 지금 제가 보는 책에 저 인자값을 넣는 부분이..

인자이름=>100 이런식으로 사용하거든요...

왜 이렇게 사용하나요?;; 이게 대체 무슨 표현식인지..

더불어서 out이라는 파라미터를 사용하면 프로시저에서 값을 변경할수 있다는데 이거는 어떻게 사용하면 되는 건가요??

by 웅 [2008.09.09 16:45:21]
인자(파라미터)는 pl/sql내에서 상수처럼 사용됩니다.
호출할 때 인자값을 넣죠? 그 값과 100을 비교하는 거에요.(인자이름=>100)
그런데 그냥 이렇게 쓰면 안되고 바르게 사용하려면 조건절의 조건식이나 sql의 조건등으로 사용하게 됩니다.
out 파라미터는 마치 펑션에서 리턴값을 반환하듯 프로시져내에서 out파라미터값에 값을 할당하면 반환할 수 있도록 하는 파라미터에요.. 물론 펑션과 프로시져는 사용법이 틀리지만요.

by 미노 [2008.09.09 16:55:31]
아.....그럼 out파라미터에 들어간 값을 사용하기 위해서 혹시 이런 식으로 값을 받아야 하나요 ' :변수이름' 이런식인가요?

by 마농 [2008.09.09 17:34:27]
인자이름=>100 은 프로시져 호출시 인자값을 지정할때 사용하는 구문입니다.
이렇게 사용하면 인자의 순서와 상관없이 값을 지정할 수 있지요.
이런 형식을 안쓰고 하면 그냥 인자값들만 나열하시면 되는데 이땐 순서를 정확하게 지켜야지요.

by 마농 [2008.09.09 17:36:24]
아웃파라미터가 들어간 프로시져 호출시 값을 받을 변수만 지정해서 호출해 주시면 됩니다.
exec 프로시져명(100, 200, :v_rtn);

by 미노 [2008.09.10 18:37:00]
아하!! 마농님 , 웅님 정말 감사합니닷.
out파라미터는 제가 있는 곳에선 많이 사용하지 않는다곤 하지만 그래도 알아두려고 노력했는데 이렇게 알려주셔서 감사합니닷.ㅎㅎ;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입