sp_cursorprepexec (Transact-SQL)
Compila um plano para a instrução de cursor enviada ou lote e, em seguida, cria e popula o cursor. sp_cursorprepexec combina as funções de sp_cursorprepare e sp_cursorexecute. Esse procedimento é invocado pela especificação de ID = 5 em um pacote TDS.
Sintaxe
sp_cursorprepexec
prepared handle
OUTPUT,
cursor
OUTPUT,
params
,
statement
,
options
[ , scrollopt [ , ccopt [ , rowcount ] ] ]
Argumentos
prepared handle
É um item gerado e preparado pelo SQL Server do tipo identificador handle. prepared handle é obrigatório e retorna 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 nesse cursor, por exemplo, sp_cursorfetch.params
Identifica instruções parametrizadas. A definição params de variáveis é substituída pelos marcadores de parâmetro na instrução. params é um parâmetro obrigatório que requer um valor de entrada ntext, nchar ou nvarchar .Observação Use uma cadeia de caracteres ntext como o valor de entrada quando stmt for parametrizado e o valor scrollopt PARAMETERIZED_STMT for ON.
statement
Define o conjunto de resultados do cursor. O parâmetro statement é exigido e chama um valor de entrada ntext, nchar ou nvarchar.Observação As regras para especificar o valor stmt são iguais às de sp_cursoropen, com a exceção de que o tipo de dados string stmt deve ser ntext.
options
Um parâmetro opcional que retorna uma descrição das colunas do conjunto de resultados de cursor. options requer o valor de entrada int a seguir.Valor
Descrição
0x0001
RETURN_METADATA
scrollopt
Opção de rolagem. scrollopt é um parâmetro opcional que requer um dos valores de entrada int a seguir.Valor
Descrição
0x0001
KEYSET
0x0002
DYNAMIC
0x0004
FORWARD_ONLY
0x0008
STATIC
0x10
FAST_FORWARD
0x1000
PARAMETERIZED_STMT
0x2000
AUTO_FETCH
0x4000
AUTO_CLOSE
0x8000
CHECK_ACCEPTED_TYPES
0x10000
KEYSET_ACCEPTABLE
0x20000
DYNAMIC_ACCEPTABLE
0x40000
FORWARD_ONLY_ACCEPTABLE
0x80000
STATIC_ACCEPTABLE
0x100000
FAST_FORWARD_ACCEPTABLE
Devido à possibilidade de a opção solicitada não ser apropriado para o cursor definido por <stmt>, este parâmetro serve como entrada e saída. Nesses casos, o SQL Server atribui um tipo apropriado e modifica esse valor.
ccopt
Opção de controle de simultaneidade. ccopt é um parâmetro opcional que requer um dos valores de entrada int a seguir.Valor
Descrição
0x0001
READ_ONLY
0x0002
SCROLL_LOCKS (anteriormente conhecido como LOCKCC)
0x0004
OPTIMISTIC (anteriormente conhecido como OPTCC)
0x0008
OPTIMISTIC (anteriormente conhecido como OPTCCVAL)
0x2000
ALLOW_DIRECT
0x4000
UPDT_IN_PLACE
0x8000
CHECK_ACCEPTED_OPTS
0x10000
READ_ONLY_ACCEPTABLE
0x20000
SCROLL_LOCKS_ACCEPTABLE
0x40000
OPTIMISTIC_ACCEPTABLE
0x80000
OPTIMISITC_ACCEPTABLE
Como ocorre com scrollpt, o SQL Server pode atribuir um valor diferente do solicitado.
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 modo 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 cursores FAST_FORWARD, 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 AUTO_FETCH scrollopt é especificado, rowcount retorna o número de linhas que foram buscadas no buffer de busca.
Valores de códigos de retorno
Se params retornar um valor NULL, a instrução não será parametrizada.
Consulte também