이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 36.6. 토토 커뮤니티 과부하버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

33.5. 무지개 토토 과부하

하나 이상의 함수가 동일한 SQL 이름으로 정의 될 수 있습니다. 그들이 맡은 주장이 다르면. 다시 말해서, 함수 이름은과부하. 언제 a 쿼리가 실행되면 서버는 데이터 유형 및 제공된 수의 수에서 호출 논쟁. 과부하를 사용하여 기능을 시뮬레이션 할 수도 있습니다 가변 수의 인수로 최대 최대 최대 숫자.

과부하 된 기능의 패밀리를 만들 때 모호성을 만들지 않도록주의하십시오. 예를 들어, 주어진 기능

무지개 토토 테스트 생성 (int, real) 반환 ...
무지개 토토 테스트 생성 (Smallint, Double Precision) 반환 ...

어떤 함수가 호출 될지 즉시 명확하지 않습니다. 와 같은 사소한 입력으로테스트 (1, 1.5). 현재 구현 된 해상도 규칙은 다음과 같습니다 설명PostgreSQL : 문서 : 8.2 : 사설 토토 변환이것에 미묘하게 의존하는 시스템을 디자인하는 것은 행동.

복합 유형의 단일 인수를 취하는 함수 일반적으로 어떤 속성 (필드)과 같은 이름을 갖지 않아야합니다. 그 유형의. 그 기억속성 (표)와 동등한 것으로 간주됩니다table.attribute. 거기에서 복합 유형의 함수와 복합 유형의 속성, 속성은 항상 사용된. 스키마 자격을 통해 해당 선택을 무시할 수 있습니다 함수 이름 (즉,schema.func (표)) 그러나 피하는 것이 좋습니다 상충되는 이름을 선택하지 않은 문제.

c-language 함수를 과부하 시키면 추가가 있습니다 제약 조건 : 가족의 각 기능의 C 이름 과부하 된 기능은 모두의 C 이름과 달라야합니다. 내부 또는 동적으로로드 된 기타 기능. 이 경우 규칙이 위반되고 행동은 휴대 할 수 없습니다. 당신은 얻을 수 있습니다 런타임 링커 오류 또는 함수 중 하나가 호출됩니다. (보통 내부). 대체 형태의asSQL 조항함수 만들기명령은 SQL 함수를 분해합니다 C 소스 코드의 함수 이름에서 이름. 을 위한 사례,

함수 테스트 생성 (int) int를 반환합니다
    처럼 'filename','test_1arg '
    언어 C;
무지개 토토 테스트를 작성 (int, int) int를 반환합니다
    처럼 'filename','test_2arg '
    언어 C;

여기에서 C 함수의 이름은 가능한 많은 것 중 하나를 반영합니다. 컨벤션.