SQL dinâmico para pools de SQL dedicados no Azure Synapse Analytics
Estão incluídas neste artigo dicas para soluções de desenvolvimento usando SQL dinâmico em pools de SQL dedicados.
Exemplo de SQL dinâmico
Ao desenvolver o código do aplicativo para pool de SQL dedicados, talvez seja preciso usar um SQL dinâmico para ajudar a fornecer soluções flexíveis, genéricas e modulares. Os pools de SQL dedicados não dão suporte a tipos de dados de blob no momento.
O não suporte a tipos de dados blob pode limitar o tamanho de suas cadeias de caracteres desde que os tipos de dados blobs incluam tipos varchar (máx) e nvarchar (máx).
Se você usou estes tipos no código do seu aplicativo ao compilar cadeias de caracteres muito grandes, você precisará dividir o código em partes e usar a instrução EXEC em seu lugar.
Um exemplo simples:
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 a cadeia de caracteres for curta, você poderá usar sp_executesql normalmente.
Observação
Instruções executadas como SQL dinâmico ainda estarão sujeitas a todas as regras de validação do TSQL.
Próximas etapas
Para obter mais dicas de desenvolvimento, confira visão geral de desenvolvimento.