Delen via


Dynamische SQL voor toegewezen SQL-pools in Azure Synapse Analytics

In dit artikel staan tips voor het ontwikkelen van oplossingen met behulp van dynamische SQL in toegewezen SQL-pools.

Voorbeeld van dynamisch SQL

Bij het ontwikkelen van toepassingscode voor toegewezen SQL-pools moet u mogelijk dynamische SQL gebruiken om flexibele, algemene en modulaire oplossingen te leveren. Toegewezen SQL-pools bieden 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) typen 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.