SQL - Expertos (Tablas Temporales)

 
Vista:

Expertos (Tablas Temporales)

Publicado por Andres (1 intervención) el 10/09/2002 20:18:17
Hola.
Mi problema es el sig...
Quiero crear una tabla temporal accesible solo para la sesión que la creo, y no para otros usuarios el problema es que al hacerla con un solo numeral Ej. (#tabla1), la misma solo puedo verla en el procedimiento que la creo, y no los otros procedimientos de mi aplicación.
Si yo creo una tabla temporal con dos numerales Ej. (##tabla1), esta tabla si puedo verla, desde todos los procedimientos de mi aplicación, y solo se destruye cuando cierro la sesión, pero el problema aquí es que si dos usuarios corren la aplicación al mismo tiempo
Le sale un error que dice que la tabla ##tabla1 ya existe.

La pregunta es. ¿ Cómo puedo crear una tabla temporal visible desde cualquier procedimiento independientemente del que la creo, y a su vez aislada o solo accesible para la sesión correspondiente a su creación? En informix esto es posible porque las tablas temporales están atadas a una sesión.

Muchísimas Gracias



Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Expertos (Tablas Temporales)

Publicado por Islas, Isaías (5072 intervenciones) el 11/09/2002 00:43:47
Hola

Para solventar ese "problema" a su CREATE TABLE, agregue el @@SPID.

Ejemplo:

DECLARE @MySQL NVARCHAR(300)

SET @MySQL = N'CREATE TABLE ##'+@@SPID+'PROCESS (Col1 Varchar(10), MyFecha smalldatetime, MyImporte Money)'
EXEC sp_executesql @MySQL

En este momento, se creo su tabla con el ID de SPID concatenando la palabra PROCESS.

Suponiendo que su SPID sea 35, su tabla sera ##35PROCESS

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar