다음을 통해 공유

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 验证规则的约束。

后续步骤

有关更多开发提示,请参阅 开发概述