如何在不写两次的情况下创建两个具有相同结构的临时表?

Zan*_*oni 1 sql t-sql sql-server sql-server-2005

如何在不写两次的情况下创建两个具有相同结构的临时表?

像这样的东西:

DECLARE @TEST_TABLE1, @TEST_TABLE2 TABLE
(
    FIELD1 INT,
    FIELD2 INT
)
Run Code Online (Sandbox Code Playgroud)

和不:

DECLARE @TEST_TABLE1 TABLE
(
    FIELD1 INT,
    FIELD2 INT
)

DECLARE @TEST_TABLE2 TABLE
(
    FIELD1 INT,
    FIELD2 INT
)
Run Code Online (Sandbox Code Playgroud)

KM.*_*KM. 6

这些不是"临时表",临时表是 CREATE TABLE #TempTable(x int)

要使这个工作真正的表格表,请尝试:

CREATE TABLE #TempTable(x int)
insert into #TempTable values(5) --test data to show no data copied to new table
select * into #tempTable2 from #TempTable where 1=2
select * from #TempTable
select * from #TempTable2
Run Code Online (Sandbox Code Playgroud)

这些是表格变量(@tableVariable),你必须声明每个变量,没有办法解决它.