sql >> Base de Datos >  >> RDS >> Sqlserver

¿Por qué no se puede crear una tabla temporal global o truncarla cuando se llama a un procedimiento almacenado desde el código C#?

Creo que si bien es posible hacer lo que está describiendo, no es demasiado práctico, ya que supone una gran cantidad de tiempo complicado:una sesión abre la conexión A y ejecuta el proceso para crear la tabla ##temp, y esa sesión mantiene la conexión abierta mientras las conexiones B, C, etc. necesiten poder acceder a la tabla temporal.

Estaría mejor con una solución que usa una tabla "permanente", donde se agrega una fila con un identificador único (int o GUID) para cada "sesión", ese valor se devuelve mediante la llamada de inicialización (o de lo contrario se puede recuperar o identificado) y utilizado por todas las llamadas posteriores para la sesión.