Dynamiczny program SQL dla dedykowanych pul SQL w usłudze Azure Synapse Analytics
W tym artykule przedstawiono porady dotyczące rozwiązań programistycznych korzystających z dynamicznego języka SQL w dedykowanych pulach SQL.
Przykład dynamicznego kodu SQL
Podczas tworzenia kodu aplikacji dla dedykowanych pul SQL może być konieczne użycie dynamicznego języka SQL, aby ułatwić dostarczanie elastycznych, ogólnych i modułowych rozwiązań. Dedykowane pule SQL nie obsługują 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 kompilowania dużych ciągów, musisz podzielić kod na fragmenty i 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 w zwykły sposób.
Uwaga
Instrukcje wykonywane jako dynamiczna baza danych SQL nadal będą podlegać wszystkim regułom weryfikacji języka T-SQL.
Następne kroki
Aby uzyskać więcej porad dotyczących programowania, zobacz Omówienie programowania.