SQL dynamique pour les pools SQL dédiés dans Azure Synapse Analytics

Cet article contient des conseils pour les solutions de développement utilisant le SQL dynamique dans des pools SQL dédiés.

Exemple de SQL dynamique

Quand vous développez le code d’une application pour un pool SQL dédié, vous pouvez avoir besoin d’utiliser un SQL dynamique de façon à offrir des solutions flexibles, génériques et modulaires. Actuellement, le pool SQL dédié ne prend pas en charge les types de données blob.

Le fait de ne pas prendre en charge les types de données blob peut limiter la taille de vos chaînes, car les types de données blob incluent les types varchar(max) et nvarchar(max).

Si vous avez utilisé ces types dans votre code d’application pour générer de grandes chaînes, vous devez casser le code en blocs et utiliser l’instruction EXEC à la place.

Voici un exemple simple :

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

Si la chaîne est courte, vous pouvez utiliser sp_executesql normalement.

Notes

Les instructions exécutées en tant que SQL dynamique sont toujours soumises à l’ensemble des règles de validation T-SQL.

Étapes suivantes

Pour obtenir des conseils supplémentaires, consultez la vue d’ensemble du développement.