|
我正在SQLServer中创建临时表。我成功创建了临时表,但是当我尝试查看数据时,它显示了“无效对象名称”。谁能告诉敌人临时表存在多长时间?如果我以userid-# e* `$ ]! a1 X0 W$ ~
devloper和pwd = 0999的身份登录到sql服务器,并且其他人也以相同的凭据登录到sql服务器,则此临时表会被删除吗?我的sql如下:
) y8 U N. \8 X: y% K1 T8 d' |2 x2 LSELECT net_node_model.SYS_ID, net_node_model.NODE, mst_temp_equation.TEMP_ID,% n$ R% ^& @1 Q1 D2 y. i, P
mst_temp_equation.EQ_ID
; D% ^3 L3 D, n# v, @: ]' {INTO ##NT_MASTER_TEMP_EQUATION; A p0 ~* R w% S
FROM mst_temp_equation INNER JOIN
p( a; M- R% L) { net_node_model ON mst_temp_equation.TEMP_ID = net_node_model.TEMP_ID
' D- m4 |, h5 j, l1 Z5 `GROUP BY net_node_model.SYS_ID, net_node_model.NODE, mst_temp_equation.TEMP_ID,
4 S0 V0 r5 O& W( P4 W, q& H4 i mst_temp_equation.EQ_ID, mst_temp_equation.EQ_NAME,3 h0 N- |" `' c8 |6 E& m( Q9 d
mst_temp_equation.EQ_TYPE, mst_temp_equation.[OBJECT],
# Y/ |8 s+ S0 | mst_temp_equation.VAR_TYPE, mst_temp_equation.VAR_NAME,: ?) r( ^" Q. B& d" v' z
mst_temp_equation.VAR_SUBSET, mst_temp_equation.VAR_SET,& b( a0 h- _: o$ b6 t2 M+ }! ?
mst_temp_equation.RHS_RELN, mst_temp_equation.RHS_OBJECT,- I6 j8 d( m4 p/ ~; X, V& z/ J
mst_temp_equation.RHS_VAR_SET, mst_temp_equation.RHS_VAR_SUBSET,
6 v: z. L% v: U) r mst_temp_equation.RHS_VAR_TYPE, mst_temp_equation.RHS_VAR_NAME,
/ [- F9 H9 ~# z* _9 P) z mst_temp_equation.EQ_TP_OFFSET, mst_temp_equation.RHS_TP_OFFSET,5 {8 j T8 ^2 n+ G( y- b
mst_temp_equation.RETAIN, mst_temp_equation.TIME_PRD,
. ?+ I4 ]/ ]* R( `" L' U mst_temp_equation.EQ_VAR_SUBTYPE, mst_temp_equation.RHS_VAR_SUBTYE;
4 d7 |1 u/ A7 x0 q' v 7 }4 J* I( S0 k& F7 D
解决方案:
6 a4 }8 D2 @1 X, C3 K 6 B1 u3 X: N+ f `1 J
6 Q$ d7 k2 i- |3 @3 h4 m
: R9 K. B, W8 B3 p- s8 H 如果使用的是常规临时表#table,则除了创建该临时表之外,其他任何会话都将看不到该临时表。该会话完成后,该表将被删除。 S% J X) a% W
如果您使用的是全局临时表##table,则其他会话将看到该表。
( M! \% N7 E, Y从MSDN-CREATE TABLE下temporary tables:
; E* I: t/ z$ S+ R E: V% y! U: H3 E( z" o0 }0 _: N( _
当创建临时表的会话结束并且所有其他任务都停止引用它们时,全局临时表将自动删除。 |
|