8

我有以下表变量声明:

DECLARE @MyTable TABLE
(
   --ten columns declared here
)

我想声明另一个具有相同结构的表变量(以便我从选择插入到第一个变量中,然后将结果复制到第二个变量中,然后我从第一个变量中逐个删除条目并返回第二个变量因此)。

我试过这个:

DECLARE @MyTable, @MyTableCopy TABLE
(
   --ten columns declared here
)

但 SQL Server Express 不高兴并说

消息 102,级别 15,状态 1,第 1 行 ',' 附近的语法不正确。

如何声明两个结构相同的表变量?

4

1 回答 1

4

你不能那样做,但是你可以使用临时表来这样做。新创建的#temp 或 parmanent 表将具有相同的表结构。

Declare @t table(startdate date,enddate date,duration int)
select * into #t1 from @t 

select * from @t1
drop table #t1
于 2013-12-18T13:11:55.070 回答