Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico descreve como as funções SQL da Entidade são resolvidas.
Mais de uma função pode ser definida com o mesmo nome, desde que as funções tenham assinaturas exclusivas.
Quando esse for o caso, os critérios a seguir devem ser aplicados para determinar qual função é referenciada por uma determinada expressão. Esses critérios são aplicados em sequência. O primeiro critério que se aplica apenas a uma única função é a função resolvida.
Número do parâmetro. A função tem o mesmo número de parâmetros especificados na expressão.
Correspondência exata no tipo. Cada tipo de argumento da função corresponde exatamente ao tipo de parâmetro ou é o literal nulo.
Corresponder no subtipo. Cada tipo de argumento da função corresponde exatamente ou é um subtipo do tipo de parâmetro ou o argumento é o literal nulo. Caso várias funções diferem apenas no número de conversões de subtipo necessárias, a função com o menor número de conversões de subtipo é a função resolvida.
Corresponder ao subtipo ou à promoção de tipo. Cada tipo de argumento da função corresponde exatamente, é um subtipo ou pode ser promovido ao tipo de parâmetro ou o argumento é o literal nulo. Novamente, caso várias funções diferem apenas no número de conversões e promoções de sub-tipo, a função com o menor número de conversões e promoções de subtipo é a função resolvida.
Se nenhum desses critérios resultar em uma única função sendo selecionada, a expressão de invocação de função será ambígua.
Mesmo que uma única função possa ser extraída usando essas regras, os argumentos ainda poderão não corresponder aos parâmetros. Um erro é gerado nesse caso.
Para funções definidas pelo usuário, a definição de uma função de consulta embutida tem precedência mesmo quando existe uma função definida pelo modelo com uma assinatura que é uma correspondência melhor para a função definida pelo usuário.