2013-12-18 106 views
6

我有以下表变量声明:如何声明两个具有相同结构的表变量?

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

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

我尝试这样做:

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

但SQL Server Express是不开心地说

消息102,级别15,状态1,行1附近有语法错误 ''。

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

+0

如果您使用UDT,则只能在不重复定义的情况下执行此操作 - 但这是对数据库的永久更改。对于临时表格,你必须重复定义。 –

回答

2

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

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

select * from @t1 
drop table #t1 
相关问题