SQL 可编程对象的高级应用与优化
1. 字符串输入与 EXEC 命令
在 SQL 中,即使输入的是有限大小的字符串,如 VARCHAR(8000),组合字符串也允许超过 8000 个字符。在支持 VARCHAR(MAX) 和 NVARCHAR(MAX) 之前的 SQL Server 旧版本中,这是一项重要功能。而现在,使用这些类型可以传递最大 2GB 大小的输入批处理。EXEC 命令支持常规字符串和 Unicode 字符串作为输入,不同于 sp_executesql,后者仅支持 Unicode 字符串。
1.1 使用 EXEC AT
SQL Server 除了支持在本地执行动态批处理的 EXEC 命令外,还支持 EXEC AT 命令,该命令可针对链接服务器执行动态批处理。如果用于连接链接服务器的提供程序支持参数,就可以通过参数将输入传递给动态批处理。
操作步骤如下:
1. 假设可以访问名为 YourServer 的另一个 SQL Server 实例,运行以下代码创建链接服务器:
EXEC sp_addlinkedserver
@server = N'YourServer',
@srvproduct = N'SQL Server';
- 假设在该实例中安装了示例数据库 TSQLV3,运行以下代码测试 EXEC AT 命令:
DECLARE @sql AS NVARCHAR(1000), @pid AS INT
超级会员免费看
订阅专栏 解锁全文
4506

被折叠的 条评论
为什么被折叠?



