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.
Aplica-se:SQL Server
Cria e preenche um cursor com base no plano de execução criado pelo sp_cursorprepare. Este procedimento, juntamente com sp_cursorprepare, tem a mesma função que sp_cursoropen, mas é dividido em duas fases.
sp_cursorexecute é invocado especificando ID = 4 em um pacote TDS (fluxo de dados tabulares).
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_cursorexecute prepared_handle , cursor
[ , scrollopt [ OUTPUT ]
[ , ccopt [ OUTPUT ]
[ , rowcount OUTPUT [ , bound param ] [ , ...n ] ] ] ]
[ ; ]
Argumentos
Importante
Os argumentos para procedimentos armazenados estendidos devem ser inseridos na ordem específica, conforme descrito na seção sintaxe. Se os parâmetros forem inseridos fora de ordem, ocorrerá uma mensagem de erro.
prepared_handle
O valor do identificador da instrução preparada retornado por sp_cursorprepare. O parâmetro prepared_handle é int e não pode ser NULL.
cursor
O identificador de cursor gerado pelo Mecanismo de Banco de Dados.
cursor é um parâmetro necessário que deve ser fornecido em todos os procedimentos subsequentes que atuam sobre o cursor, como sp_cursorfetch.
scrollopt
Opção de rolagem. O parâmetro scrollopt é int, com um padrão de NULL. O sp_cursorexecuteparâmetro scrollopt tem as mesmas opções de valor que sp_cursoropen.
Não há suporte para o PARAMETERIZED_STMT valor.
Se um valor scrollopt não for especificado, o valor padrão será KEYSET independentemente do valor scrollopt especificado em sp_cursorprepare.
CCOPT
Opção de controle de moeda.
ccopt é um parâmetro opcional que requer um valor de entrada int . O sp_cursorexecuteparâmetro ccopt tem as mesmas opções de valor que sp_cursoropen.
Se um valor ccopt não for especificado, o valor padrão será OPTIMISTIC independentemente do valor ccopt especificado em sp_cursorprepare.
contagem de linhas
Um parâmetro opcional que significa o número de linhas de buffer de busca a serem usadas com AUTO_FETCHo . O padrão é 20 linhas.
rowcount se comporta de forma diferente quando atribuído como um valor de entrada versus um valor retornado.
| Como valor de entrada | Como valor de retorno |
|---|---|
Quando AUTO_FETCH é especificado com FAST_FORWARD cursores, rowcount representa o número de linhas a serem colocadas no buffer de busca. |
Representa o número de linhas no conjunto de resultados. Quando o valor scrolloptAUTO_FETCH é especificado, rowcount retorna o número de linhas que foram buscadas no buffer de busca. |
bound_param
Significa o uso opcional de parâmetros extras.
Quaisquer parâmetros após o quinto são passados para o plano de instrução como parâmetros de entrada.
Valores do código de retorno
rowcount retorna 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 preemptados para o cache do servidor, o que significa que o identificador preparado que identifica a instrução deve ser recompilado. Os valores dos parâmetros scrollopt e ccopt devem corresponder aos valores enviados na solicitação original para sp_cursorprepare.
PARAMETERIZED_STMT não deve ser atribuído a scrollopt.
A falha em fornecer valores correspondentes resulta 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 do cursor sejam retornados no fluxo TDS.