【发布时间】:2010-07-22 09:47:06
【问题描述】:
我生成了一个大约 25k 个字符长的 sql 字符串选择语句。不幸的是,生产服务器是 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
【问题讨论】:
-
我之前发布过这个,stackoverflow.com/questions/3190423/… 但解决方案是针对 sql server 2005。
-
我将建议发布部分以查看是否可以使用 WITH 语句最小化查询,但它们在 2000 年不受支持 :( 有没有办法不能以某种方式修剪?我发现Oracle 的动态 SQL 在解释空白/空格字符的方式上存在问题...
-
嗯,也许我可以为结果创建一个临时表并一一添加列...
-
该死的,我必须一一更新行。
标签: sql-server tsql sql-server-2000 dynamic-sql