Synapse SQL 中的动态 SQL
本文将介绍使用动态 SQL 的技巧,以及使用 Synapse SQL 开发解决方案的技巧。
动态 SQL 示例
开发应用程序代码时,可能需要借助动态 SQL 来提供灵活、通用且模块化的解决方案。
注意
专用 SQL 池目前不支持 blob 数据类型。 不支持 blob 数据类型可能会限制字符串的大小,因为 blob 数据类型包括 varchar(max) 和 nvarchar(max) 类型。 如果已在应用程序代码中使用这些类型构建大型字符串,则需要将代码分解成块,并改用 EXEC 语句。
一个简单的示例:
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);
如果字符串较短,则可以像平时一样使用 sp_executesql。
注意
作为动态 SQL 执行的语句仍会受所有 T-SQL 验证规则的约束。
后续步骤
有关更多开发技巧,请参阅 开发概述。