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

Quando si sviluppa codice dell'applicazione, potrebbe essere necessario usare SQL dinamico per offrire soluzioni flessibili, generice e modulari.

Annotazioni

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 perché i tipi di dati BLOB includono sia tipi varchar(max) che nvarchar(max). Se sono stati usati questi tipi nel codice dell'applicazione per compilare stringhe di grandi dimensioni, è necessario suddividere 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.

Annotazioni

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 Panoramica dello sviluppo.