Azure Synapse Analytics'te ayrılmış SQL havuzları için dinamik SQL

Bu makalede ayrılmış SQL havuzlarında dinamik SQL kullanan geliştirme çözümlerine yönelik ipuçları yer almaktadır.

Dinamik SQL örneği

Ayrılmış SQL havuzları için uygulama kodu geliştirirken esnek, genel ve modüler çözümler sağlamaya yardımcı olmak için dinamik SQL kullanmanız gerekebilir. Ayrılmış SQL havuzları şu anda blob veri türlerini desteklemez.

Blob veri türleri hem varchar(max) hem de nvarchar(max) türlerini içerdiğinden blob veri türlerini desteklememe dizelerinizin boyutunu sınırlayabilir.

Uygulama kodunuzda büyük dizeler oluşturmak için bu türleri kullandıysanız, kodu öbeklere bölmeniz ve bunun yerine EXEC deyimini kullanmanız gerekir.

Basit bir örnek:

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

Dize kısaysa, sp_executesql normal şekilde kullanabilirsiniz.

Not

Dinamik SQL olarak yürütülen deyimler yine de tüm T-SQL doğrulama kurallarına tabi olacaktır.

Sonraki adımlar

Daha fazla geliştirme ipucu için bkz. geliştirmeye genel bakış.