Leer en inglés

Compartir a través de

Synapse SQL 中的动态 SQL

在本文中,你将找到有关使用动态 SQL 和使用 Synapse SQL 开发解决方案的提示。

动态 SQL 示例

开发应用程序代码时,可能需要使用动态 SQL 来帮助提供灵活、通用和模块化的解决方案。

Nota

专用 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

Nota

作为动态 SQL 执行的语句仍受所有 T-SQL 验证规则的约束。

后续步骤

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