Compartir a través de


sp_cursorprepexec (Transact-SQL)

Compila un plan para la instrucción de cursor enviada o lote. Después, crea y rellena el cursor. sp_cursorprepexec combina las funciones de sp_cursorprepare y sp_cursorexecute. Estos procedimientos se invocan especificando el identificador 5 en un paquete de flujo de datos tabular (TDS).

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

        sp_cursorprepexec 
        prepared handle
         OUTPUT, 
        cursor
         OUTPUT, 
        params
         , 
        statement
         , 
        options
            [ , scrollopt [ , ccopt [ , rowcount ] ] ]

Argumentos

  • prepared handle
    Es un identificador de handle preparado, que genera SQL Server. prepared handle es necesario y devuelve int. 

  • cursor
    Es el identificador del cursor generado por SQL Server. El parámetro cursor es un parámetro necesario que se debe proporcionar en todos los procedimientos posteriores que actúen en este cursor, por ejemplo, sp_cursorfetch.

  • params
    Identifica instrucciones con parámetros. La definición del parámetro params de variables se sustituye para los marcadores de parámetros en la instrucción. El parámetro params es un parámetro necesario que requiere un valor de entrada ntext, nvarchar o nchar.

    Nota

    Utilice una cadena ntext como valor de entrada cuando se parametriza stmt y el valor scrollopt PARAMETERIZED_STMT es ON.

  • statement
    Define el conjunto de resultados del cursor. El parámetro statement es necesario y requiere un valor de entrada ntext, nchar o nvarchar.

    Nota

    Las reglas para especificar el valor de stmt son las mismas que para sp_cursoropen, con la excepción de que el tipo de datos de cadena del parámetro stmt debe ser ntext.

  • options
    Parámetro opcional que devuelve una descripción de las columnas del conjunto de resultados del cursor. El parámetro options requiere el siguiente valor de entrada int.

    Valor

    Descripción

    0x0001

    RETURN_METADATA

  • scrollopt
    Opción de desplazamiento. El parámetro scrollopt es un parámetro opcional que requiere uno de los siguientes valores de entrada int.

    Valor

    Descripción

    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

    Debido a la posibilidad de que la opción solicitada no sea adecuada para el cursor definido a través de <stmt>, este parámetro actúa tanto de entrada como de salida. En casos como este, SQL Server asigna un tipo adecuado y modifica este valor.

  • ccopt
    Opción de control de simultaneidad. ccopt es un parámetro opcional que requiere uno de los siguientes valores de entrada int.

    Valor

    Descripción

    0x0001

    READ_ONLY

    0x0002

    SCROLL_LOCKS (conocido anteriormente como LOCKCC)

    0x0004

    OPTIMISTIC (conocido anteriormente como OPTCC)

    0x0008

    OPTIMISTIC (conocido anteriormente 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 con scrollpt, SQL Server puede asignar un valor diferente al solicitado.

  • rowcount
    Es un parámetro opcional que indica el número de filas del búfer de captura que se van a usar con AUTO_FETCH. El valor predeterminado es 20 filas. rowcount se comporta de manera diferente cuando se asigna como un valor de entrada contra un valor devuelto.

    Como valor de entrada

    Como valor devuelto

    Cuando AUTO_FETCH se especifica con cursores FAST_FORWARD, rowcount representa el número de filas que se colocarán en el búfer de captura.

    Representa el número de filas en el conjunto de resultados. Cuando se especifica el valor AUTO_FETCH de scrollopt, rowcount devuelve el número de filas que se colocaron en el búfer de captura.

Valores del código de retorno

Si params devuelve un valor NULL, la instrucción no se parametriza.