Background Image

FORUM

2018.12.27 16:42

java 저장 함수에서

조회 수 327 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 64bit
CUBRID Ver.
CUBRID 9.3 (9.3.9.0002) (64bit release build for Windows_NT) (Aug  4 2017 12:26:47)
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)
java, php, odbc 등 입력

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

java 저장 함수에서 한 자리 이상의 소수점을 가진 BigDecimal 값 리턴 시 오류가 발생합니다.

SQL 반환타입 : NUMERIC, 자바 반환타입: java.math.BigDecimal

자바에서 scale하여 소수점 둘쨋자리까지로 반올림하여 리턴하도록 구현했습니다.


실행 오류 : -693

Overflow occurred on data type Numeric.


CREATE FUNCTION getexchamount (

p_amt NUMERIC,

p_exch_cur STRING,

p_bas_cur STRING,

p_exch_date STRING

) RETURN NUMERIC

AS LANGUAGE JAVA NAME 'TEST_FN.getExchAmount(java.math.BigDecimal,java.lang.String,java.lang.String,java.lang.String) return java.math.BigDecimal'


소수점 첫쨋자리까지로 반올림하여 리턴하는 경우에는 오류가 발생하지는 않지만 소수점이 없어지고 반올림된 정수로 결과가 나옵니다.


소숫점을 포함한 숫자를 리턴 받으려면 어떻게 처리해야 하나요? 답변 부탁드립니다.

  • ?
    성진 2018.12.27 16:44
    DOUBLE로 받으시면 될 것 같습니다.
  • ?
    klee 2018.12.27 18:44
    해당 리턴값으로 java에서 BigDecimal로 연산하는 경우도 있습니다. 요구사항에 따라 스케일이 더 클 수도 있구요. double형은 부동소수점 오류가 발생할 수 있어 지양하는 바입니다. SQL리턴타입을 numeric(20,5) 이런식으로 지정하고 싶은데.. 다른 방법은 없는지요..?

  1. No Image notice by admin 2024/04/23 by admin
    Views 43 

    CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. 운영db 접근이 되지 않아 문의 드립니다

  4. 홈경로 databases.txt 질문드립니다

  5. Cubrid admin 접속 제한 문의드립니다.

  6. 특정단어 삭제

  7. error while loading shared libraries: libncurses.so.5 에러 문의 드립니다.

  8. 다운로드페이지에 CUBRIDManager 11.x windows-x64.exe 는 없는데 .. 다운로드 할 수 있을까요?

  9. db_class에서 테이블 목록 조회시

  10. 조회쿼리 시간단축

  11. No Image 29Jun
    by SDDC사업개발자
    2023/06/29 by SDDC사업개발자
    Views 89  Replies 1

    CUBRID 8.4.4 -> 11.0.3 로 업그레이드 시 발생할 문제가 있을까요?

  12. No Image 28Jun
    by 공공기관에서사용중1
    2023/06/28 by 공공기관에서사용중1
    Views 137  Replies 1

    CUBRID to Tibero DBLink지원 가능한지 알고싶습니다.

  13. ELO타입이 무엇인가요?

  14. 백업파일 받았는데 복구하는 방법을 모르겠습니다.

  15. UTF8 한글이 깨짐

  16. No Image 12Jun
    by 대출인생30년
    2023/06/12 by 대출인생30년
    Views 82  Replies 1

    저장 프로스저에 있는 함수 상세보기 문의입니다.

  17. MERGE INTO 속도 개선 문의

  18. NX_transcation

  19. cubrid cursor.close() 에러 관련질문

  20. merge 쿼리 속도개선

  21. 브로커(CAS)수 질문드립니다!

  22. 데이터 이관 문의입니다.

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales