Freigeben über


Dynamisches SQL für dedizierte SQL-Pools in Azure Synapse Analytics

Dieser Artikel enthält Tipps für Entwicklungslösungen, die dynamische SQL in dedizierten SQL-Pools verwenden.

Beispiel für dynamisches SQL

Beim Entwickeln von Anwendungscode für dedizierte SQL-Pools müssen Sie möglicherweise dynamische SQL verwenden, um flexible, generische und modulare Lösungen bereitzustellen. Dedizierte SQL-Pools unterstützen derzeit keine BLOB-Datentypen.

Wenn blob-Datentypen nicht unterstützt werden, kann die Größe Ihrer Zeichenfolgen eingeschränkt werden, da Blob-Datentypen sowohl varchar(max) als auch nvarchar(max)-Typen enthalten.

Wenn Sie diese Typen in Ihrem Anwendungscode zum Erstellen großer Zeichenfolgen verwendet haben, müssen Sie den Code in Blöcke unterteilen und stattdessen die EXEC-Anweisung verwenden.

Ein einfaches Beispiel:

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);

Wenn die Zeichenfolge kurz ist, können Sie sp_executesql normal verwenden.

Hinweis

Als dynamisches SQL ausgeführte Anweisungen unterliegen weiterhin allen T-SQL-Validierungsregeln.

Nächste Schritte

Weitere Hinweise zur Entwicklung finden Sie in der Entwicklungsübersicht.