procedure에서 long 타입, 또는 clob 처리하기 0 4 2,197

by 자바천재 [PL/SQL] [2015.10.22 10:38:48]


한번에 메일을 보내야 하는것이 있습니다

특정 테이블, 특정 칼럼의 LONG 타입에 4000kbyte 이상의 데이터를 넣어야 합니다

V_CONTENTS := F_COM_SET_EMAIL_CONTENTS_COVER(V_BODY_TOP || V_BODY_CONTENTS || V_BODY_BOTTOM, V_PARAM);

==> 요부분에서 error가 납니다

 

F_COM_SET_EMAIL 이 함수의 return값을 long 혹은 clob으로 해도 안되네요

procedure에서 데이터를 가공해서 clob 혹은 long타입으로 만들수는 없는지요?

 

 

by 마농 [2015.10.22 15:38:26]

함수 호출 과정에서 나는 에러라면?
  1. 호출 전에 나는 에러인지?
  2. 호출 후에 나는 에러인지?
정확한 확인이 필요하네요..


1번의 경우라면 문자열을 붙이는 과정에서 에러가 난 듯 하구요.
   V_BODY_TOP || V_BODY_CONTENTS || V_BODY_BOTTOM <=== 요기서 에러 난 듯
   CLOB 으로 바꾸어 붙여보세요.
   TO_CLOB(V_BODY_TOP) || V_BODY_CONTENTS || V_BODY_BOTTOM
2번의 경우라면?
   해당 함수가 긴 문자열을 인자로 받을 준비가 되어 있는 함수인지 확인하세요?


by 자바천재 [2015.10.22 15:53:40]

함수호출시에 나는겁니다

 

CLOB으로 데이터를 넣으면 되는데요

 

문제는 table이 LONG 타입이라서요


by 마농 [2015.10.22 15:57:55]

LONG 타입은 답이 안나오는 타입인데요 ㅡ,.ㅡ

과거DB와의 호환을 위해 버리지 못하는... 아무짝에도 쓸모없는 녀석이 아닐까 하는 생각이 드네요.

이참에 CLOB 으로 바꿔보세요.


by 자바천재 [2015.10.22 16:03:33]

제가 바꿀수 있으면 바꾸고 싶은데

그룹사 전체에 걸처있는거라서 제가 임의적으로 바꿀수가 없습니다

이거때문에 계속 문제가 되네요..... ^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입