Table-Valued Parameters
Table-valued parameters are declared by using user-defined table types. You can use table- v
Table-valued parameters are declared by using user-defined table types. You can use table-
valued parameters to send multiple rows of data to a Transact-SQL statement or a routine, such
as a stored procedure or function, without creating a temporary table or many parameters.
Table-valued parameters are like parameter arrays in OLE DB and ODBC, but offer more
flexibility and closer integration with Transact-SQL. Table-valued parameters also have the
benefit of being able to participate in set-based operations.
Transact-SQL passes table-valued parameters to routines by reference to avoid making a copy
of the input data. You can create and execute Transact-SQL routines with table-valued
parameters, and call them from Transact-SQL code, managed and native clients in any
managed language.
A table-valued parameter is scoped to the stored procedure, function, or dynamic Transact-SQL
text, exactly like other parameters. Similarly, a variable of table type has scope like any other
local variable that is created by using a DECLARE statement. You can declare table-valued
variables within dynamic Transact-SQL statements and pass these variables as table-valued
parameters to stored procedures and functions.
Table-valued parameters offer more flexibility and in some cases better performance than
temporary tables or other ways to pass a list of parameters. Table-valued parameters offer the
following benefits:
Do not acquire locks for the initial population of data from a client.
Provide a simple programming model.
Enable you to include complex business logic in a single routine.
Reduce round trips to the server.
Can have a table structure of different cardinality.
Are strongly typed.
Enable the client to specify sort order and unique keys.
Are cached like a temp table when used in a stored procedure. Starting with SQL Server
2012 (11.x) and later versions, table-valued parameters are also cached for parameterized
queries.