Sdílet prostřednictvím


Dynamický SQL v Synapse SQL

V tomto článku najdete tipy pro používání dynamického SQL a vývoj řešení pomocí Synapse SQL.

Příklad dynamického SQL

Při vývoji kódu aplikace možná budete muset použít dynamický SQL, který vám pomůže poskytovat flexibilní, obecná a modulární řešení.

Poznámka

Vyhrazený fond SQL v tuto chvíli nepodporuje 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 vytváření 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.