Share via


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.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

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çãoObservaçã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çãoObservaçã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.