TSQL在tsql中声明一个变量,而不显式定义列

时间:2011-10-18 13:27:23

标签: tsql

是否可以在sql中声明变量而无需显式定义列?

这样的东西
declare @tab as select * from myTable

2 个答案:

答案 0 :(得分:4)

你可以选择一个临时表......它看起来就像你要完成的那样。

select * 
into #myTempTable
from myTable

答案 1 :(得分:2)

在声明表变量时,必须定义列。如果你想做类似的事情,你可能需要重新审视你的设计。如果你想创建一个对任何表做任何事情的proc,那在SQL中是个坏主意。如果没有一般设计,数据库运行得最好,你不应该尝试泛化查询。

你不应该使用select *来进行任何生产查询,因为它是一个SQL Antipattern。