- SQL Server 2008 introduced the concepts of User-Defined Table Types (UDTT) and Table-Valued Parameters (TVP)
- These
help you to pass a Data table
- You can use table-valued parameters to send multiple rows of data to a Transact-SQL statement such as a stored procedure or function, without creating a temporary table or many parameters.
- It will help full to executing inner procedure without looping or you can directly pass table data to procedure
/*
Create a table type. */
CREATE
TYPE
SampleTableType AS
TABLE
(
Name
VARCHAR(50),
Age
INT
)
/*
Create a procedure to receive data for the table-valued parameter. */
CREATE
PROCEDURE
dbo.
SampleProcTableType
@Temptable
SampleTableType READONLY
AS
SET
NOCOUNT
ON
BEGIN
--
INSERT INTO StudentTable /*You Can add insert command to database*/
SELECT
Name,
Age
FROM
@Temptable
END
/*
Declare a variable that references the type.to execute proc */
DECLARE
@SampleTemp AS
SampleTableType
/*
Add data to the table variable.
Pass the table variable data to a stored procedure and execute.
*/
INSERT
INTO
@SampleTemp
(Name,
Age)
SELECT
'Manu',20
UNION
ALL
SELECT
'Raj',25
UNION
ALL
SELECT
'Arun',25
EXEC
SampleProcTableType
@SampleTemp;
No comments:
Post a Comment