Delen via


Dynamische SQL in Synapse SQL

In dit artikel vindt u tips voor het gebruik van dynamische SQL en het ontwikkelen van oplossingen met Synapse SQL.

Voorbeeld van dynamische SQL

Bij het ontwikkelen van toepassingscode moet u mogelijk dynamische SQL gebruiken om flexibele, algemene en modulaire oplossingen te leveren.

Notitie

Toegewezen SQL-pool biedt momenteel geen ondersteuning voor blobgegevenstypen. Het niet ondersteunen van blobgegevenstypen kan de grootte van uw tekenreeksen beperken, omdat blobgegevenstypen zowel varchar(max) als nvarchar(max) bevatten. Als u deze typen in uw toepassingscode hebt gebruikt om grote tekenreeksen te maken, moet u de code opsplitsen in segmenten en in plaats daarvan de EXEC-instructie gebruiken.

Een eenvoudig voorbeeld:

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

Als de tekenreeks kort is, kunt u sp_executesql gewoon gebruiken.

Notitie

Instructies die worden uitgevoerd als dynamische SQL zijn nog steeds onderhevig aan alle T-SQL-validatieregels.

Volgende stappen

Zie Overzicht van ontwikkeling voor meer tips voor ontwikkeling.