34,590
社区成员
业务场景:要用mssql查出符合条件的记录,然后用字符串拼装html,字符拼接超过8000个后,后面的字符不显示的问题
问题说明:如下 @body nvarchar(max),由于 #temp 记录较多,发现 select @body 并未显示查询所有记录,存在有符合条件的记录未显示
请问如何优化下?能够在拼接的字符串中,将所有符合条件的记录组合在一起?
DECLARE @REMARK nvarchar(max),@Message nvarchar(max);
DECLARE C_HTMessages CURSOR FAST_FORWARD FOR
select remark from #temp ;
OPEN C_HTMessages;
FETCH NEXT FROM C_HTMessages INTO @remark;
WHILE @@FETCH_STATUS=0
BEGIN
set @Message=ISNULL(@Message,'')+isnull(@remark,'');--可能是这里截断的
FETCH NEXT FROM C_HTMessages INTO @remark ;
END
CLOSE C_HTMessages;
DEALLOCATE C_HTMessages;
set @body= @Beginbody + @Message + @Endbody
select @body
你这里不是截断了,只是ssms中select 输出不了这么多字符而已。
可以写程序,调取一个 select 中的内容。
https://blog.csdn.net/Hehuyi_In/article/details/107980007