오라클 테이블 정보를 이용한 프로시저 만드는 방법 0 9 2,683

by 배고파 [2011.07.05 18:07:36]



안녕하세요...
다음 아래와 같은 테이블 정보를 이용하여 INSERT 프로시저를 생성할려고 하는데요..
어떤 방법이 있을까요?
버전은 9i 입니다.

컬럼 NO SELECT FROM WHERE
데이터 1 GRP, COUNT(*) TBL_A BASE_DATE = i_BASE_DATE AND GRP = '01' GROUP BY GRP
by x [2011.07.05 18:49:18]
http://www.gurubee.net/lecture/1720
여기 참조하시면 됩니다.

by 배고파 [2011.07.07 16:26:58]
그걸 보고도 감이 안잡히네요.. i_BASE_DATE를 특정 문자로 치환 해야 하는데요... 다른 테이블에 col1 -> i_BASE_DATE, col2 -> '20110707' 이 들어가 있는데... 이 데이타 값을 사용해야 합니다..

by 마농 [2011.07.07 23:03:59]
문자열 치환은 Replace 를 이용하세요.

by 배고파 [2011.07.08 09:16:58]
마농님.. 예를 들어 설명 해줄수 있나요? Replace를 어떻게 해줘야 한다는건지...

by 마농 [2011.07.08 09:32:06]
REPLACE( Where컬럼, col1값, ''''||col2값||'''')

by 배고파 [2011.07.08 10:13:19]
WHERE절에 들어가 있는 데이타를 바꾸어야 하는건가요?
변경전 WHERE BASE_DATE = i_BASE_DATE AND GRP = '01' GROUP BY GRP
변경후 WHERE BASE_DATE = REPLACE(i_BASE_DATE,(SELECT COL1 FROM TBL_A WHERE TC = 'i_BASE_DATE),''''||(SELECT COL2 FROM TBL_A WHERE COL1 =i_BASE_DATE)||'''')

by 마농 [2011.07.08 10:20:29]
데이터 자체에 replace 구문을 넣으라는게 아니죠.
replace를 이용해 데이터를 바꾸라는 말이죠.

by 배고파 [2011.07.08 15:03:22]
아..
v_STR := REPLACE(v_OBJ_STR,v_VAR_NM, '''' || v_VAR_VALUE || '''')
이런식으로 하면 되는거군요..
그런데 이식으로 하면..
ORA-06512: "SYS.DBMS_OUTPUT" 에러 생성되네요..

by 마농 [2011.07.08 15:18:17]
그 에러는 다른 에러인데요.
다른데서 에러 원인을 찾아보세요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입