Dela via


Dynamisk SQL för dedikerade SQL-pooler i Azure Synapse Analytics

I den här artikeln finns tips för utvecklingslösningar som använder dynamisk SQL i dedikerade SQL-pooler.

Dynamiskt SQL-exempel

När du utvecklar programkod för dedikerade SQL-pooler kan du behöva använda dynamisk SQL för att leverera flexibla, generiska och modulära lösningar. Dedikerade SQL-pooler stöder för närvarande inte blobdatatyper.

Om du inte stöder blobdatatyper kan du begränsa storleken på dina strängar eftersom blobdatatyperna innehåller både varchar(max) och nvarchar(max).

Om du har använt dessa typer i programkoden för att skapa stora strängar måste du dela upp koden i segment och använda EXEC-instruktionen i stället.

Ett enkelt exempel:

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

Om strängen är kort kan du använda sp_executesql som vanligt.

Anteckning

Instruktioner som körs som dynamisk SQL omfattas fortfarande av alla T-SQL-verifieringsregler.

Nästa steg

Fler utvecklingstips finns i utvecklingsöversikt.