하나 이상의 함수는 인수가 다른 한 동일한 SQL 이름으로 정의될 수 있습니다. 즉, 함수 이름은 다음과 같습니다.과부하됨. 사용 여부에 관계없이 이 스포츠 토토 베트맨은 일부 사용자가 다른 사용자를 신뢰하지 않는 데이터베이스에서 함수를 호출할 때 보안 예방 조치를 수반합니다. 참조배트맨 토토 42 |_1 |04112PostgreSQL: 문서: 16: 38.6. 스포츠 토토 베트맨 오버로딩02
오버로드된 함수군을 생성할 때 모호함을 만들지 않도록 주의해야 합니다. 예를 들어, 주어진 함수는 다음과 같습니다:
CREATE FUNCTION 테스트(int, real) 반환... CREATE FUNCTION 테스트(smallint, 배정밀도) RETURNS ...
다음과 같은 사소한 입력으로 어떤 함수가 호출될지는 즉시 명확하지 않습니다.테스트(1, 1.5). 현재 구현된 해결 규칙은 다음 항목에 설명되어 있습니다.PostgreSQL : 문서 : 16 : 10 장 10 장 토토 결과, 하지만 이 동작에 미묘하게 의존하는 시스템을 설계하는 것은 현명하지 않습니다.
복합 유형의 단일 인수를 취하는 스포츠 토토 베트맨는 일반적으로 해당 유형의 속성(필드)과 동일한 이름을 가져서는 안 됩니다. 그것을 기억해내세요다음과 동등한 것으로 간주됩니다.속성(테이블). 복합 유형의 함수와 복합 유형의 속성 사이에 모호성이 있는 경우 해당 속성이 항상 사용됩니다. 함수 이름을 스키마로 한정하여 해당 선택을 재정의할 수 있습니다(즉,테이블.속성) 하지만 충돌하는 이름을 선택하지 않음으로써 문제를 피하는 것이 더 좋습니다.스키마.펑크(테이블)
가변 스포츠 토토 베트맨와 비가변 스포츠 토토 베트맨 사이의 또 다른 충돌 가능성이 있습니다. 예를 들어, 둘 다 생성하는 것이 가능합니다.foo(숫자)그리고foo(VARIADIC 숫자[]). 이 경우 다음과 같은 단일 숫자 인수를 제공하는 호출에 어느 것이 일치해야 하는지 불분명합니다.foo(10.1). 규칙은 검색 경로에서 먼저 나타나는 함수가 사용되거나 두 함수가 동일한 스키마에 있는 경우 가변적이지 않은 함수가 선호된다는 것입니다.
C 언어 스포츠 토토 베트맨를 오버로드할 때 추가 제약 조건이 있습니다. 오버로드된 스포츠 토토 베트맨 계열에 있는 각 스포츠 토토 베트맨의 C 이름은 내부 또는 동적으로 로드된 다른 모든 스포츠 토토 베트맨의 C 이름과 달라야 합니다. 이 규칙을 위반하면 해당 동작은 이식 가능하지 않습니다. 런타임 링커 오류가 발생하거나 스포츠 토토 베트맨 중 하나가 호출됩니다(일반적으로 내부 스포츠 토토 베트맨). 의 대체 형식ASSQL에 대한 절스포츠 토토 베트맨 생성명령은 C 소스 코드의 함수 이름에서 SQL 함수 이름을 분리합니다. 예를 들어:
CREATE FUNCTION 테스트(int) 반환 int
그대로 '파일 이름', 'test_1arg'
언어 C;
CREATE FUNCTION test(int, int) 반환 int
그대로 '파일 이름', 'test_2arg'
언어 C;
여기서 C 스포츠 토토 베트맨의 이름은 가능한 많은 규칙 중 하나를 반영합니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.