Compartilhar via


SQL dinâmico para pools de SQL dedicados no Azure Synapse Analytics

Incluídos neste artigo estão 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 pools de SQL dedicados, talvez seja necessário usar o SQL dinâmico para ajudar a fornecer soluções flexíveis, genéricas e modulares. Pools de SQL dedicados não dão suporte a tipos de dados de blob no momento.

Não oferecer suporte a tipos de dados blob pode limitar o tamanho de suas cadeias de caracteres, pois incluem tipos como varchar(max) e nvarchar(max).

Se você tiver usado esses tipos no código do aplicativo para criar cadeias de caracteres grandes, precisará dividir o código em partes e usar a instrução EXEC.

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 T-SQL.

Próximas etapas

Para obter mais dicas de desenvolvimento, confira visão geral de desenvolvimento.