Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek obsahuje tipy pro vývojová řešení využívající dynamické 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, abyste mohli poskytovat flexibilní, obecná a modulární řešení. Vyhrazené fondy SQL v tuto chvíli nepodporují datové typy 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.