Dynamiczny język SQL w usłudze Synapse SQL

Tip

Microsoft Fabric Data Warehouse to magazyn relacyjny w skali przedsiębiorstwa na podstawie bazy danych data lake z architekturą gotową do użycia w przyszłości, wbudowaną sztuczną inteligencją i nowymi funkcjami. Jeśli dopiero zaczynasz korzystać z magazynowania danych, zacznij od Fabric Data Warehouse. Istniejące obciążenia dedykowanej puli SQL mogą zostać zaktualizowane do Fabric, aby uzyskać dostęp do nowych możliwości w zakresie nauki o danych, analizy w czasie rzeczywistym i raportowania.

W tym artykule znajdziesz porady dotyczące korzystania z dynamicznego języka SQL i opracowywania rozwiązań przy użyciu usługi Synapse SQL.

Dynamiczny przykład SQL

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

Uwaga

Dedykowana pula SQL nie obsługuje typów danych blob w tym momencie. 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.