Sdílet prostřednictvím


Dynamické SQL v Synapse SQL

V tomto článku najdete tipy pro použití dynamického SQL a vývoje ř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, abyste mohli poskytovat flexibilní, obecná a modulární řešení.

Poznámka:

Vyhrazená skupina SQL momentálně 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 v kódu aplikace použili k sestavení velkých řetězců, musíte kód rozdělit do bloků 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 běžným způsobem.

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.