Hola:
En SQL:
Si los datos de la tabla temporal PUEDEN SER COMPARTIDOS
por varios usuarios, simplemente crea la tabla temporal de
tipo GLOBAL, con 2 (dos) signos de numero
CREATE TABLE ##MyTablaTemporal
Si por el contrario los datos de la tabla temporal son
para uso esclusivo del usuario en cuestion, agregue el
SPID del usuario a su creacion de tabla y se hara de
manera "particular"
CREATE TABLE #MyTablaTemporal+CONVERT(VARCHAR, @@SPID)
es decir podrias hacer lo siguiente;
SELECT M.*, D.*
INTO #MyTablaTemporal
FROM Maestro M
INNER JOIN Detalle D ON
M.Id=D.Id
lo bueno es que el servidor de SQL destruye la tabla luego de ser utilizada.
Puedes chequear "CREATE TABLE", en SQL, tiene
una seccion dedicada a las tablas temporales.
Saludos;