2011-06-30 86 views
8

我想聲明一個表變量並用select填充它,而不必顯式定義它的列。請問T-SQL允許這樣的事情:根據Select語句聲明表變量

DECLARE @people TABLE() SELECT * FROM Persons; 

可以想像,上面的語句將完全匹配列類型,並在同一時間填寫@people表變量。 :)

回答

15

你不能用表變量來做它,因爲一個變量在被使用之前必須被聲明,但你可以使用一個臨時表來代替。

SELECT * INTO #people FROM Persons; 
+0

正是我要說的。聲明表變量的語法不允許動態變化。 – Yuck