Freigeben über


Dynamisches SQL in Synapse SQL

In diesem Artikel finden Sie Tipps zur Verwendung dynamischer SQL- und Entwicklungslösungen mit Synapse SQL.

Dynamisches SQL-Beispiel

Beim Entwickeln von Anwendungscode müssen Sie möglicherweise dynamische SQL verwenden, um flexible, generische und modulare Lösungen bereitzustellen.

Hinweis

Der dedizierte SQL-Pool unterstützt 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 stattdessen 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.