Partilhar via


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

Incluídas neste artigo estão dicas para soluções de desenvolvimento usando SQL dinâmico em pools SQL dedicados.

Exemplo de SQL dinâmico

Ao desenvolver código de aplicativo para pools SQL dedicados, talvez seja necessário usar SQL dinâmico para ajudar a fornecer soluções flexíveis, genéricas e modulares. No momento, os pools SQL dedicados não oferecem suporte a tipos de dados de blob.

Não suportar tipos de dados de blob pode limitar o tamanho de suas cadeias de caracteres, uma vez que os tipos de dados de blob incluem os tipos varchar(max) e nvarchar(max).

Se você usou 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 em vez disso.

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 string for curta, você pode usar sp_executesql normalmente.

Observação

As instruções executadas como SQL dinâmico ainda estarão sujeitas a todas as regras de validação do T-SQL.

Próximos passos

Para obter mais dicas de desenvolvimento, consulte Visão geral do desenvolvimento.