Ho usato SQL dinamico per molte attività e ho riscontrato continuamente lo stesso problema: stampare i valori delle variabili utilizzate all'interno dell'istruzione Dynamic T-SQL.
PER ESEMPIO:
Declare @SQL nvarchar(max), @Params nvarchar(max), @DebugMode bit, @Foobar int
select @DebugMode=1,@Foobar=364556423
set @SQL='Select @Foobar'
set @Params=N'@Foobar int'
if @DebugMode=1 print @SQL
exec sp_executeSQL @SQL,@Params
,@Foobar=@Foobar
I risultati di stampa del codice sopra riportato sono semplicemente "Seleziona @Foobar". Esiste un modo per stampare dinamicamente i valori e i nomi delle variabili di sql in esecuzione? O quando si esegue la stampa, sostituire i parametri con i loro valori effettivi in modo che SQL sia nuovamente eseguibile?
Ho giocato con la creazione di una o due funzioni per realizzare qualcosa di simile, ma con conversioni di tipi di dati, problemi di troncamento di corrispondenza dei modelli e soluzioni non dinamiche. Sono curioso di sapere come gli altri sviluppatori risolvano questo problema senza stampare manualmente ogni singola variabile manualmente.