Partilhar via


TOP (SQL de entidade)

A cláusula SELECT pode ter uma subcláusula TOP opcional seguindo o modificador opcional ALL/DISTINCT. A subcláusula TOP especifica que apenas o primeiro conjunto de linhas será retornado do resultado da consulta.

Sintaxe

[ TOP (n) ]

Argumentos

n A expressão numérica que especifica o número de linhas a serem retornadas. n pode ser um único literal numérico ou um único parâmetro.

Observações

A expressão TOP deve ser um único literal numérico ou um único parâmetro. Se um literal constante é usado, o tipo literal deve ser implicitamente promocional para Edm.Int64 (byte, int16, int32 ou int64 ou qualquer tipo de provedor que mapeia para um tipo que é promocional para Edm.Int64) e seu valor deve ser maior ou igual a zero. Caso contrário, será levantada uma exceção. Se um parâmetro for usado como uma expressão, o tipo de parâmetro também deve ser implicitamente promocional para Edm.Int64, mas não haverá validação do valor real do parâmetro durante a compilação porque os valores dos parâmetros são limitados tardiamente.

Segue-se um exemplo de expressão TOP constante:

select distinct top(10) c.a1, c.a2 from T as a

Segue-se um exemplo de expressão TOP parametrizada:

select distinct top(@topParam) c.a1, c.a2 from T as a

TOP não é determinístico, a menos que a consulta seja classificada. Se você precisar de um resultado determinístico, use as subcláusulas SKIP e LIMIT na cláusula ORDER BY . O TOP e o SKIP/LIMIT excluem-se mutuamente.

Exemplo

A consulta Entity SQL a seguir usa o TOP para especificar a linha superior a ser retornada do resultado da consulta. A consulta é baseada no Modelo de Vendas AdventureWorks. Para compilar e executar esta consulta, siga estes passos:

  1. Siga o procedimento em Como: Executar uma consulta que retorna resultados StructuralType.

  2. Passe a seguinte consulta como um argumento para o ExecuteStructuralTypeQuery método:

    SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact
    

Consulte também