Dynamické SQL pro vyhrazené fondy SQL ve službě Azure Synapse Analytics
Tento článek obsahuje tipy pro vývojová řešení s využitím dynamického SQL ve vyhrazených fondech SQL.
Příklad dynamického SQL
Při vývoji kódu aplikace pro vyhrazené fondy SQL možná budete muset použít dynamický SQL, který vám pomůže poskytovat flexibilní, obecná a modulární řešení. Vyhrazené fondy SQL v tuto chvíli nepodporují datové typy objektů blob.
Nepodporování datových typů objektů blob může omezit velikost řetězců, protože datové typy objektů blob zahrnují typy varchar(max) i nvarchar(max).
Pokud jste tyto typy použili v kódu aplikace k sestavení velkých řetězců, musíte kód rozdělit na bloky dat a místo toho použít příkaz EXEC.
Jednoduchý příklad:
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);
Pokud je řetězec krátký, můžete použít sp_executesql jako obvykle.
Poznámka
Příkazy spouštěné jako dynamický SQL budou nadále podléhat všem ověřovacím pravidlům T-SQL.
Další kroky
Další tipy pro vývoj najdete v přehledu vývoje.