Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing table variable into dynamic SQL 2008

I need to run a dynamic sql which uses table variable created in the scope of the parent. How do I pass table variable into dynamic sql in SQL2008 ?

like image 906
Boppity Bop Avatar asked Aug 10 '10 08:08

Boppity Bop


1 Answers

Here's an end-end example:

-- Define a custom TABLE type
CREATE TYPE IntegerTableType AS TABLE (ID INTEGER);

-- Fill a var of that type with some test data
DECLARE @MyTable IntegerTableType
INSERT @MyTable VALUES (1),(2),(3)

-- Now this is how you pass that var into dynamic statement
EXECUTE sp_executesql N'SELECT * FROM @MyTable', 
    N'@MyTable IntegerTableType READONLY', 
    @MyTable
like image 78
AdaTheDev Avatar answered Nov 24 '22 03:11

AdaTheDev