Freigeben über


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

In diesem Artikel finden Sie Tipps für Entwicklungslösungen mit dynamischem SQL in dedizierten SQL-Pools.

Beispiel für dynamisches SQL

Beim Entwickeln von Anwendungscode für einen dedizierten SQL-Pool müssen Sie unter Umständen dynamisches SQL verwenden, um flexible, generische und modulare Lösungen bereitstellen zu können. Dedizierte SQL-Pools unterstützen zurzeit keine Blobdatentypen.

Dass keine Blobdatentypen unterstützt werden, könnte die Einschränkung der Größe Ihrer Zeichenfolgen zur Folge haben, da Blobdatentypen sowohl den Typ VARCHAR(MAX) als auch NVARCHAR(MAX) enthalten.

Wenn Sie diese Typen im 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 wie üblich verwenden.

Hinweis

Anweisungen, die als dynamisches SQL ausgeführt werden, unterliegen weiterhin allen T-SQL-Validierungsregeln.

Nächste Schritte

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