我生成一个大约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
答案 0 :(得分:1)
试试这个:
CREATE PROCEDURE DynamicSQLExec
@SQL ntext
AS
EXEC (@SQL)
您不能声明文本局部变量,但可以让一个存储过程的参数。