다음을 통해 공유


함수 오버로드 확인(Entity SQL)

이 항목에서는 Entity SQL 함수를 확인하는 방법에 대해 설명합니다.

함수에 고유한 서명이 있는 한 둘 이상의 함수를 동일한 이름으로 정의할 수 있습니다.

이 경우 다음 조건을 적용하여 지정된 식에서 참조하는 함수를 결정해야 합니다. 이러한 조건은 순서대로 적용됩니다. 단일 함수에만 적용되는 첫 번째 조건은 확인된 함수입니다.

  1. 매개 변수 번호입니다. 함수에는 식에 지정된 매개 변수 수가 동일합니다.

  2. 형식에 대한 정확한 일치입니다. 함수의 각 인수 형식은 매개 변수 형식과 정확히 일치하거나 null 리터럴입니다.

  3. 하위 유형에서 일치합니다. 함수의 각 인수 형식이 정확히 일치하거나 매개 변수 형식의 하위 형식이거나 인수가 null 리터럴입니다. 여러 함수가 필요한 하위 형식 변환 수에만 차이가 있는 경우 하위 형식 변환 수가 가장 적은 함수는 확인된 함수입니다.

  4. 하위 형식 또는 형식 승격에서 일치합니다. 함수의 각 인수 형식이 정확히 일치하거나 하위 형식이거나 매개 변수 형식으로 승격될 수 있거나 인수가 null 리터럴입니다. 다시 말하지만, 여러 함수가 하위 형식 변환 및 승격 수에만 차이가 있는 경우 하위 형식 변환 및 승격 수가 가장 적은 함수는 확인된 함수입니다.

이러한 조건 중 어느 것도 단일 함수를 선택하지 않으면 함수 호출 식이 모호합니다.

이러한 규칙을 사용하여 단일 함수를 추출할 수 있더라도 인수가 매개 변수와 일치하지 않을 수 있습니다. 이 경우 오류가 발생합니다.

사용자 정의 함수의 경우 모델 정의 함수가 사용자 정의 함수와 더 일치하는 시그니처와 함께 존재하는 경우에도 인라인 쿼리 함수에 대한 정의가 우선적으로 적용됩니다.

참고하십시오