Condividi tramite


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.