是否可以在sql中声明变量而无需显式定义列?
像
这样的东西declare @tab as select * from myTable
答案 0 :(得分:4)
你可以选择一个临时表......它看起来就像你要完成的那样。
select *
into #myTempTable
from myTable
答案 1 :(得分:2)
在声明表变量时,必须定义列。如果你想做类似的事情,你可能需要重新审视你的设计。如果你想创建一个对任何表做任何事情的proc,那在SQL中是个坏主意。如果没有一般设计,数据库运行得最好,你不应该尝试泛化查询。
你不应该使用select *来进行任何生产查询,因为它是一个SQL Antipattern。