Compartilhar via


sp_prepexec (Transact-SQL)

Aplica-se:SQL Server

Prepara e executa uma instrução Transact-SQL parametrizada. sp_prepexec combina as funções de sp_prepare e sp_execute. Essa ação é invocada por ID = 13 em um pacote TDS (fluxo de dados tabulares).

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_prepexec handle OUTPUT , params , stmt
    [ , 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.

handle

O identificador de identificador gerado pelo SQL Server. handle é um parâmetro necessário com um valor de retorno int .

params

Identifica instruções parametrizadas. A definição de parâmetros de variáveis é substituída por marcadores de parâmetro na instrução. params é um parâmetro necessário que chama um valor de entrada ntext, nchar ou nvarchar . Insira um NULL valor se a instrução não estiver parametrizada.

stmt

Define o conjunto de resultados do cursor. O parâmetro stmt é necessário e chama um valor de entrada ntext, nchar ou nvarchar .

bound_param

Significa o uso opcional de parâmetros extras. bound_param chama um valor de entrada de qualquer tipo de dados para designar os parâmetros extras em uso.

Exemplos

O exemplo a seguir prepara e executa uma instrução simples:

DECLARE @Out AS INT;

EXECUTE 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';

EXECUTE sp_unprepare @Out;