次の方法で共有


Azure Synapse Analytics の専用 SQL プール用の動的 SQL

この記事には、専用 SQL プールで動的 SQL を使用する開発ソリューションのヒントが含まれています。

動的 SQL の例

専用 SQL プール用のアプリケーション コードを開発する場合は、動的 SQL を使用して、柔軟で汎用的なモジュール型のソリューションを提供することが必要になる場合があります。 現時点では、専用 SQL プールでは BLOB データ型はサポートされていません。

BLOB データ型が varchar(max) 型と nvarchar(max) 型の両方を含むため、BLOB データ型をサポートしない場合、文字列のサイズが制限される可能性があります。

アプリケーション コードでこれらの型を使用して大きな文字列をビルドした場合は、コードをチャンクに分割し、代わりに EXEC ステートメントを使用する必要があります。

簡単な例:

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

文字列が短い場合は、通常どおり sp_executesql を使用できます。

動的 SQL として実行されるステートメントは、引き続きすべての T-SQL 検証規則の対象となります。

次のステップ

開発についてのその他のヒントは、開発の概要に関するページをご覧ください。