SQL dinamico in Synapse SQL
In questo articolo sono disponibili suggerimenti per l'uso di SQL dinamico e lo sviluppo di soluzioni con Synapse SQL.
Esempio di SQL dinamico
Durante lo sviluppo del codice dell'applicazione, potrebbe essere necessario usare SQL dinamico per offrire soluzioni flessibili, generiche e modulari.
Nota
Il pool SQL dedicato non supporta attualmente i tipi di dati BLOB. Il mancato supporto dei tipi di dati BLOB potrebbe limitare le dimensioni delle stringhe poiché i tipi di dati BLOB includono i tipi varchar (max) e nvarchar (max). Se sono stati usati questi tipi nel codice dell'applicazione durante la creazione di stringhe di grandi dimensioni, è necessario separare il codice in blocchi e usare invece l'istruzione EXEC.
Un semplice esempio:
DECLARE @sql_fragment1 VARCHAR(8000)=' SELECT name '
, @sql_fragment2 VARCHAR(8000)=' FROM sys.system_views '
, @sql_fragment3 VARCHAR(8000)=' WHERE name like ''%table%''';
EXEC( @sql_fragment1 + @sql_fragment2 + @sql_fragment3);
Se la stringa è breve, è possibile usare sp_executesql come di consueto.
Nota
Le istruzioni eseguite come SQL dinamico saranno comunque soggette a tutte le regole di convalida T-SQL.
Passaggi successivi
Per altri suggerimenti sullo sviluppo, vedere la panoramica dello sviluppo.