salve,
alessioarrigoni wrote:
Ho scritto una stored procedures in cui mediante SQL dinamico scrivo la stringa di creazione di una tabella temporanea.
Al termine della creazione della stringa mediante l'istruzione EXEC eseguo l'SQL contenuto nella stringa senza problemi.
Successimante quando eseguo una qualsiasi istruzione SQL (SELECT , INSERT) su tale tabella ricevo il messaggio d'errore "Il nome di oggetto '#tblTemp' non è valido", dove #tblTemp è il nome che ho assegnato alla tabella temporanea.
Qualche indicazione ?
Grazie
la definizione dell'identificatore e' valido ovviamente solo nel contesto di chiamata della tabella temporanea.. tale contesto e' EXECUTE @cmd e basta, quindi non all'interno del corpo completo della procedura..
ti consiglio la lettura di tutto il bellissimo articolo di Erland Sommarskog, Microsoft MVP per SQL Server, che trovi presso
http://www.sommarskog.se/dynamic_sql.html#Cre_tbl , dove vedrai preziose indicazioni sull'uso condiviso di dati tra procedure e comandi,
http://www.sommarskog.se/share_data.html#prockeyedsaluti