如何在SQL Server 2000上执行一个非常长的动态sql语句?

时间:2010-07-21 20:44:27

标签: sql-server tsql sql-server-2000 dynamic-sql

我生成一个大约25k个字符长的sql string select语句。不幸的是,生产服务器是SQL 2000 我唯一的选择是将字符串分解为4k nvarchars吗?

--ex.
DECLARE @s1 NVARCHAR(4000)
DECLARE @s2 NVARCHAR(4000)
DECLARE @s3 NVARCHAR(4000)
DECLARE @s4 NVARCHAR(4000)
DECLARE @s5 NVARCHAR(4000)
DECLARE @s6 NVARCHAR(4000)
DECLARE @s7 NVARCHAR(4000)

--fill nvarchars

EXEC @s1 + @s2 + @s3 + @s4 + @s5 + @s6 + @s7

1 个答案:

答案 0 :(得分:1)

试试这个:

CREATE PROCEDURE DynamicSQLExec
   @SQL ntext
AS
EXEC (@SQL)

您不能声明文本局部变量,但可以让一个存储过程的参数。