次の方法で共有


Synapse SQL の動的 SQL

この記事では、Synapse 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 検証規則が適用されます。

次のステップ

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