개념적인 문제인데요..procedure와 function 0 7 1,862

by 미노 [2008.08.26 11:27:55]


두가지의 차이점을 알고 싶습니다.

비슷한점은 두가지다 리턴해 주거나 결과를 내는 것은 같다고 생각을 합니다.

그런데 procedure같은 경우 여러가지 가능한 것으로 알고 있는데 function은 어떻게 반응하게 되는지 궁금합니다.

더불어서 procedure같은 경우에도 어떻게 반응하는지 궁금하구요..

 

프로시져에서는 그냥 insert로 넣어버리는것이죠??결과값을요..그럼 한번에 여러가지를 넣을 수 있으니까용?

그리고 function의 경우는 어떻게 실행되는지??

by 손님 [2008.08.26 12:45:35]
procedure와 function은 비슷하지만, 제가 아는 한도내에서 차이점을 말씀드리면, procedure는 리턴값이 없어도 되지만, function은 반드시 리턴값이 있어야됩니다. 또한 둘 다 리턴값을 필요로할 경우, function은 리턴값이 하나밖에 안 되는데 반해 procedure는 여러값을 리턴할 수 있죠. 미노님께서 질문하신 insert는 무슨 insert를 말씀하신건지 잘 이해가 안 가는데..

by 손님 [2008.08.26 12:48:10]
만약 어떤 테이블에 여러데이터를 insert 시키고 싶을 경우,
loop문과 insert into 구문 이용해 로직을 짜면 되겠죠,
허나 그냥 테이블에 데이터만 꽂아줄 뿐 어떠한 리턴값도 필요없는 경우죠.
그럴땐 반드시 리턴값이 있어야되는 function은 못 쓰고 procedure를 만듭니다.

by 마농 [2008.08.26 12:52:38]
펑션은 조회용, 프로시져는 배치작업용으로 사용합니다.

by 미노 [2008.08.26 13:09:43]
insert라는 것은 테이블에 값을 넣는것을 말했는데..정확하지 않은 말 죄송;; insert into해서 loop로 ㅎㅎ;; 하는 그런 작업을 말한거에요. 흠....예제같은것 함 찾아보고 더 해봐야겠네요. 제가 있는 곳에서 프로시져 오류가 나는데 ?羔? 찾기 힘든지;;;java같은 경우 오류 위치까지 다 알려주는데...이건 뭐;; ㅡㅡㅋ 암튼 알려주신분들 감솨 감솨!!
아!! 근데요...procedure가 여러 리턴값을 돌려줄수 있다고 하는데 그때에 어떤식으로 값을 돌려주나요? return 이라는 것을 사용하나요?

by 미노 [2008.08.26 13:12:22]
아!! 추가 해서요...프로시져 안에 function을 넣을 수 있나요? 그럼 일이 무지 쉬워질거 같은데..물론 코딩 수는 늘어나겠지만 나중에 가져다 사용할 수 있는 것들이 더 많아질 거 같으니...ㅎㅎ;;;

by 이지웅 [2008.08.26 13:19:33]
프로시져안에 펑션 사용도 가능하고요.
패키지를 이용하면 프로시져와 펑션을 이용한 어플리케이션도 쉽게 작성가능합니다.

프로시져에서 값을 리턴할때는 out 파라미터를 사용하지요.

by 손님 [2008.08.26 13:35:43]
procedure 프로시져명 ( 파라메타 IN varchar2
,파라메타 IN NUMBER
,리턴변수 OUT VARCHAR2) ;
이런식으로 IN 으로 파라메타를 받고 OUT 으로 값을 리턴해줘요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입