열의 값을 펑션에서 넣을 수 있는가요? 0 3 1,516

by 이동훈 [2008.10.16 16:14:15]


안녕하세요.

쿼리를 짜다 보니 궁금한 점이 생겨서 이렇게 질문 올립니다.

예를 들자면 이런 테이블이 있습니다.

  

MONTH MONTH_CD YR_CD 결과1 결과2
9월 9 2008 360 400

 

결과 1과 2는 펑션으로 출력 된 값 입니다.

펑션의 구조는 펑션(’값’, ’값’)으로 두 개의 인자값을 넣을 수 있게 되어 있습니다.

MONTH_CD와 YR_CD 값을 불러올 때 CASE문에 조건을 써서 값을 불러오는 건데

펑션에다가 다시 같은 로직의 CASE 문을 넣고 값을 나오게 하는 건 낭비라고 생각되더군요.

1행에 나온 저 MONTH_CD 컬럼에 9라는 값과 YR_CD 컬럼에 2008 이라는 값을

SELECT 하면서 펑션의 인자 값으로( 펑션(’9’ ’2008’)) 이렇게 넣을 수 있나요??

고수님들의 내공을 전수해주십쇼 ㅜㅜ

by 서성우 [2008.10.16 16:35:25]
가능합니다.
펑션안에 인자값을 select로 나온 값으로
넣고 돌릴수 있습니다.

by 이동훈 [2008.10.16 16:44:00]
서성우님 답변 감사합니다. 근데 펑션에 값을 넣을려면
명령어를 어떻게 해야 되는건가요?
여기서 참고할 만한 문서가 있는 건가요?

by 서성우 [2008.10.16 16:59:26]
select 펑션명((select month_cd, from 테이블명),
(select yr_cd from 테이블명))
from dual

이런식으로 스칼라 쿼리를 이용해서 값을
넣으면 될꺼같습니다.

프로시져나 트리거 같은 경우는
select month_cd,yr_cd
into v_month_cd ,v_yr_cd
from 테이블명
를 이용해서
펑션명(v_month_cd ,v_yr_cd)로 돌릴수도 있습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입