sp_prepexec (Transact-SQL)

 

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Prepares and executes a parameterized Transact-SQL statement. sp_prepexec combines the functions of sp_prepare and sp_execute. This is invoked by ID =13 in a tabular data stream (TDS) packet.

Topic link icon Transact-SQL Syntax Conventions

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

handle
Is the SQL Server-generated handle identifier. handle is a required parameter with an int return value.

params
Identifies parameterized statements. The params definition of variables is substituted for parameter markers in the statement. params is a required parameter that calls for an ntext, nchar, or nvarchar input value. Input a NULL value if the statement is not parameterized.

stmt
Defines the cursor result set. The stmt parameter is required and calls for an ntext, nchar or nvarchar input value.

bound_param
Signifies the optional use of additional parameters. bound_param calls for an input value of any data type to designate the additional parameters in use.

The following example prepares and executes a simple statement.

Declare @P1 int;  
EXEC sp_prepexec @P1 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 @P1;  

sp_prepare (Transact SQL)
sp_execute (Transact-SQL)
System Stored Procedures (Transact-SQL)

Community Additions

ADD
Show: