Partilhar via


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

Neste artigo estão incluídas sugestões para soluções de desenvolvimento com SQL dinâmico em conjuntos de SQL dedicados.

Exemplo de SQL dinâmico

Ao desenvolver código de aplicação para conjuntos de SQL dedicados, poderá ter de utilizar o SQL dinâmico para ajudar a fornecer soluções flexíveis, genéricas e modulares. De momento, os conjuntos de SQL dedicados não suportam tipos de dados de blobs.

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

Se utilizou estes tipos no código da aplicação para criar cadeias grandes, tem de dividir o código em segmentos e utilizar 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 for curta, pode utilizar sp_executesql normalmente.

Nota

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

Passos seguintes

Para obter mais sugestões de desenvolvimento, veja Descrição geral do desenvolvimento.