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.