この記事には、専用 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 検証規則の対象となります。
次のステップ
開発についてのその他のヒントは、開発の概要に関するページをご覧ください。