Compartir a través de


sp_prepexec (Transact-SQL)

Se aplica a:SQL Server

Prepara y ejecuta una instrucción Transact-SQL con parámetros. sp_prepexec combina las funciones de sp_prepare y sp_execute. Esta acción se invoca mediante ID = 13 en un paquete de flujo de datos tabular (TDS).

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_prepexec handle OUTPUT , params , stmt
    [ , bound param ] [ , ...n ]
[ ; ]

Argumentos

Importante

Los argumentos para los procedimientos almacenados extendidos deben especificarse en el orden específico, tal como se describe en la sección sintaxis de . Si los parámetros se escriben fuera de orden, se produce un mensaje de error.

identificador

Identificador de identificador generado por SQL Server. handle es un parámetro necesario con un valor devuelto int .

params

Identifica instrucciones con parámetros. La definición de parámetros de las variables se sustituye por los marcadores de parámetro en la instrucción . los parámetros son un parámetro necesario que llama a un valor de entrada ntext, nchar o nvarchar . Escriba un NULL valor si la instrucción no está parametrizada.

stmt

Define el conjunto de resultados del cursor. El parámetro stmt es obligatorio y llama a para un valor de entrada ntext, nchar o nvarchar .

bound_param

Indica el uso opcional de parámetros adicionales. bound_param llama a un valor de entrada de cualquier tipo de datos para designar los parámetros adicionales en uso.

Ejemplos

En el ejemplo siguiente se prepara y se ejecuta una instrucción simple:

Declare @Out int;
EXEC sp_prepexec @Out output,
    N'@P1 nvarchar(128), @P2 nvarchar(100)',
    N'SELECT database_id, name
      FROM sys.databases
      WHERE name=@P1 AND state_desc = @P2',
          @P1 = 'tempdb', @P2 = 'ONLINE';
EXEC sp_unprepare @Out;