Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Perché non è possibile creare una tabella temporanea globale o troncarla quando si chiama una stored procedure dal codice C#?

Credo che mentre è possibile fare ciò che stai descrivendo, non è troppo pratico, poiché presuppone molti tempi difficili:una sessione apre la connessione A ed esegue il proc per creare la tabella ##temp, e quella sessione mantiene la connessione aperta per tutto il tempo in cui le connessioni B, C, ecc. devono poter accedere alla tabella temporanea.

Faresti meglio con una soluzione che utilizza una tabella "permanente", in cui viene aggiunta una riga con un identificatore univoco (int o GUID) per ogni "sessione", quel valore viene restituito dalla chiamata di inizializzazione (o può altrimenti essere recuperato o identificato) e utilizzato da tutte le successive chiamate per la sessione.