2010-08-10 3 views
5

Je dois exécuter un SQL dynamique qui utilise une variable de table créée dans la portée du parent. Comment puis-je passer la variable de table en SQL dynamique dans SQL2008?Passer une variable de table en SQL dynamique 2008

+0

Compte tenu de la nature générale de votre question, peut-être vous serez bien servis par cette exposition générale sur sql dynamique? http://www.sommarskog.se/dynamic_sql.html – Tobiasopdenbrouw

Répondre

18

Voici un exemple de bout en bout:

-- 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 
+0

c'était rapide! Merci beaucoup –

Questions connexes