• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 1. MySQL 내부 사양
    2. MySQL 플러그인 API
    3. 플러그인을 위한 MySQL서비스
    4. MySQL에 새로운 함수 추가
    1. 사용자 정의 함수 인터페이스 기능
    2. 새로운 사용자 정의 함수 추가
    1. 간단한 함수를위한 UDF 호출 순서
    2. 집계 함수를위한 UDF 호출 순서
    3. UDF 인수의 처리
    4. UDF의 반환 및 오류 처리
    5. 사용자 정의 함수의 컴파일 및 설치
    6. 사용자 정의 함수의 보안 예방 조치
    3. 새로운 Native 함수의 추가
    5. MySQL 디버그 및 이식
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

24.4.2.4 UDF의 반환 및 오류 처리

초기화 함수는 오류가 발생하지 않은 경우는 0 , 그리고 그렇지 않은 경우는 1 을 돌려줍니다. 오류가 발생했을 경우, xxx_init() 는 message 매개 변수에 NULL로 끝나는 오류 메시지를 저장합니다. 메시지는 클라이언트에 반환됩니다. 메시지 버퍼의 길이는 MYSQL_ERRMSG_SIZE 문자이지만, 표준 터미널 화면의 폭 메시지에 맞게 메시지를 80 자 미만으로 유지하도록하십시오.

long long 함수 및 double 함수의 경우 메인 함수 xxx() 의 반환 값은 함수 값입니다. 문자열 함수는 결과 포인터를 반환하고 *length 를 반환 (바이트) 길이로 설정합니다. 예 :

memcpy(result, "result string", 13);
*length = 13;

MySQL은 result 매개 변수를 사용하여 버퍼를 xxx() 함수에 전달합니다. 이 버퍼는 255자를 유지하기위한 충분한 길이가 멀티 바이트 문자도 유지할 수 있습니다. xxx() 함수는이 버퍼에 결과를 저장할 수 (결과가 맞다면),이 경우 반환 값에 버퍼에 대한 포인터를 설정하십시오. 함수가 다른 버퍼에 결과를 저장하는 경우 해당 버퍼에 대한 포인터를 반환합니다.

문자열 함수에 제공된 버퍼를 사용하지 않는 경우 (예를 들어, 255 자보다 긴 문자열을 돌려 줄 필요가있는 경우), xxx_init() 함수 또는 xxx() 함수에서 malloc() 을 사용하여 자신의 버퍼 영역을 할당 xxx_deinit() 함수에서 그 공간을 확보해야합니다. 이후 xxx() 의 호출로 재사용 할 수 있도록 할당 된 메모리를 UDF_INIT 구조 ptr 슬롯에 저장할 수 있습니다. 섹션 24.3.2.1 "간단한 함수를위한 UDF 호출 순서" 를 참조하십시오.

메인 함수에서 반환 값이 NULL 임을 나타내려면 *is_null 을 1 로 설정합니다.

*is_null = 1;

메인 함수에서 오류를 반환하는 것을 보여주기 위해 *error 를 1 로 설정합니다.

*error = 1;

xxx() 가 하나의 행에 *error 에 1 을 설정 한 경우 XXX() 를 호출 한 명령문이 처리되는 현재의 행 및 후속 행의 함수 값은 NULL 입니다. (후속 행에서 xxx() 가 호출되지 않습니다.)

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved