如何在不指定列的情况下从SELECT中插入表格?

时间:2014-08-13 15:24:34

标签: sql sql-server

不确定是否可能,特别是在仔细审查some info on the Internet之后。我想重写以下内容,如果可能的话,根本不必指定列。二手幸福就是拥有一组通用的列,它们接受其他所有内容,与类型或数量无关。

原因当然是,我懒惰,厌倦了为每个单一案件改写持有人哔哔

declare @beep table(Hazaa int)
insert into @beep
select WholeSomeValue from ThisOrThatTable 

能够使用这样的东西真是太好了。

declare @beep table(GenericColumns ???)
insert into @beep
select * from ThisOrThatTable 

或者,至少,就像这样。

declare @beep table(GenericColumn1 ???, GenericColumn2 ???, GenericColumn3 ???)
insert into @beep
select Col1, Col2, Col3 from ThisOrThatTable 

2 个答案:

答案 0 :(得分:4)

使用临时表怎么样?您无需事先知道结构。

select 
 t.* 
into #beep
from ThisOrThatTable as t

答案 1 :(得分:0)

您可以创建自己的自定义table type

CREATE TYPE dbo.Beep AS TABLE 
(
    Column1 INT,
    Column2 VARCHAR(50)
)

然后像这样使用它:

DECLARE @beep dbo.Beep

INSERT INTO @beep 
SELECT 1, 'blah'

SELECT * FROM @beep
相关问题