SQL dynamiczne w usłudze Synapse SQL

W tym artykule znajdziesz wskazówki dotyczące korzystania z dynamicznych SQL i opracowywania rozwiązań przy użyciu usługi Synapse SQL.

Przykład dynamicznego SQL

Podczas tworzenia kodu aplikacji może być konieczne użycie SQL dynamicznych, aby ułatwić dostarczanie elastycznych, ogólnych i modułowych rozwiązań.

Uwaga

Dedykowana pula SQL nie obsługuje obecnie typów danych obiektów blob. Brak obsługi typów danych obiektów blob może ograniczać rozmiar ciągów, ponieważ typy danych obiektów blob obejmują zarówno typy varchar(max) i nvarchar(max). Jeśli używasz tych typów w kodzie aplikacji do tworzenia dużych ciągów, musisz podzielić kod na fragmenty i zamiast tego użyć instrukcji EXEC.

Prosty przykład:

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

Jeśli ciąg jest krótki, możesz użyć sp_executesql jak zwykle.

Uwaga

Instrukcje wykonywane jako SQL dynamiczne będą nadal podlegać wszystkim regułom weryfikacji SQL T.

Następne kroki

Aby uzyskać więcej porad dotyczących programowania, zobacz Omówienie programowania.