sp_cursorexecute (Transact-SQL)

Aplica-se a: simSQL Server (todas as versões compatíveis)

Cria e popula um cursor com base no plano de execução criado por sp_cursorprepare. Esse procedimento, juntamente com sp_cursorprepare, tem a mesma função que sp_cursoropen, mas é dividido em duas fases. sp_cursorexecute é invocado especificando a ID =4 em um pacote TDS (fluxo de dados tabular).

Ícone de link do tópico Convenções da sintaxe Transact-SQL

Sintaxe

  
sp_cursorexecute prepared_handle, cursor  
    [ , scrollopt[ OUTPUT ]  
    [ , ccopt[ OUTPUT ]  
    [ ,rowcount OUTPUT [ ,bound param][,...n]]]]]  

Argumentos

prepared_handle
É o valor de alça de instrução preparada retornado por sp_cursorprepare. prepared_handle é um parâmetro necessário que chama um valor de entrada int.

cursor
É o identificador de cursor gerado pelo SQL Server. cursor é um parâmetro obrigatório que deve ser fornecido em todos os procedimentos subsequentes que atuam no cursor, como sp_cursorfetch

Scrollopt
Opção de rolagem. scrollopt é um parâmetro opcional que requer um valor de entrada int. O sp_cursorexecute scrollopt tem as mesmas opções de valor que aquelas para sp_cursoropen.

Observação

Não há suporte para o valor PARAMETERIZED_STMT.

Importante

Se um valor scrollopt não for especificado, o valor padrão será KEYSET, independentemente do valor scrollopt especificado no sp_cursorprepare.

Ccopt
Opção de controle de moeda. ccopt é um parâmetro opcional que requer um valor de entrada int. O sp_cursorexecute ccopt tem as mesmas opções de valor que aquelas para sp_cursoropen.

Importante

Se um valor ccopt não for especificado, o valor padrão será OPTIMISTIC, independentemente do valor de ccopt especificado em sp_cursorprepare.

Rowcount
É um parâmetro opcional que significa o número de linhas de buffer de busca a ser usado com AUTO_FETCH. O padrão é 20 linhas. rowcount se comporta de maneira diferente quando atribuído como um valor de entrada versus um valor de retorno.

Como valor de entrada Como valor de retorno
Quando AUTO_FETCH é especificado com FAST_FORWARD número de linhas de cursores representa o número de linhas a colocar no buffer de busca. Representa o número de linhas no conjunto de resultados. Quando o valor AUTO_FETCH scrollopt é especificado, rowcount retorna o número de linhas que foram buscadas no buffer de busca.

bound_param
Significa o uso opcional de parâmetros adicionais.

Observação

Quaisquer parâmetros após o quinto são passados para o plano de instrução como parâmetros de entrada.

Valor de retorno do código

rowcount pode retornar os valores a seguir.

Valor Descrição
-1 Número de linhas desconhecidas.
-n Uma população assíncrona está em vigor.

Comentários

Parâmetros scrollopt e ccopt

scrollopt e ccopt são úteis quando os planos armazenados em cache são preempção para o cache do servidor, o que significa que o identificador preparado que identifica a instrução deve ser recompilado. Os valores de parâmetro scrollopt e ccopt devem corresponder aos valores enviados na solicitação original para sp_cursorprepare.

Observação

PARAMETERIZED_STMT não deve ser atribuído a scrollopt.

A falha ao fornecer valores correspondentes resultará na recompilação dos planos, negando as operações de preparação e execução.

Considerações sobre RPC e TDS

O sinalizador de entrada RPC RETURN_METADATA pode ser definido como 1 para solicitar que os metadados da lista de seleção de cursor sejam retornados no fluxo TDS.

Consulte Também

sp_cursoropen (Transact-SQL)
sp_cursorfetch (transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)