tsql - 如何为临时表分配一个id

时间:2011-09-18 22:38:36

标签: sql tsql

我必须创建临时表...但问题是如果多个用户将使用系统,则无法区分其临时表。所以我想把每张桌子放在前面。这将是唯一的ID。 有任何建议怎么做?

我的选择查询中包含此唯一ID:

SELECT TABLE2.ID, TABLE2.NAME, TABLE2.ADDRESS, TABLE2.PHONE, INTO   ##TEMP_TABLE
FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.NAME = TABLE2.NAME
GROUP BY TABLE2.ID,  TABLE2.NAME, TABLE2.ADDRESS, TABLE2.PHONE;

如何使用临时表附加此ID?

2 个答案:

答案 0 :(得分:1)

为什么不使用本地临时表而不必担心呢?只需在它们前面添加一个#mark。

答案 1 :(得分:0)

为什么不单独使用表变量,只需将Table2.Id放入其中......这完全消除了所有这些问题......

Declare @Ids Table (id integer primary key not null)
Insert @Ids(id)
 Select Distinct t2.ID 
    From Table1 t1 Join Table2 t2 
        On T2.Name = T1.Name 

然后,无论何时你需要其他Table2数据,jkust都会对这个临时表变量执行一个joion ...      - 从table2获取只有这些行的东西...

Select <table2 column data>
From Table2 t2 Join @Ids i on i.id = t2.Id