204 END
205 ELSE
206 --如果回车没找到
207 BEGIN
208 IF @BasePos <= @TextLength
209 BEGIN
210 --如果@Lines长度的新值大于定义的长度
211 WHILE ( ISNULL(LEN(@Line), 0) + @BlankSpaceAdded + @TextLength - @BasePos + 1 ) > @DefinedLength
212 BEGIN
213 SELECT @AddOnLen = @DefinedLength - ( ISNULL(LEN(@Line),
214 0) + @BlankSpaceAdded )
215 INSERT #CommentText
216 VALUES ( @LineId,
217 ISNULL(@Line, N'') + ISNULL(SUBSTRING(@SyscomText,
218 @BasePos,
219 @AddOnLen), N'') )
220 SELECT @Line = NULL,
221 @LineId = @LineId + 1,
222 @BasePos = @BasePos + @AddOnLen,
223 @BlankSpaceAdded = 0
224 END
225 SELECT @Line = ISNULL(@Line, N'') + ISNULL(SUBSTRING(@SyscomText,
226 @BasePos,
227 @TextLength - @BasePos + 1),
228 N'')
229 IF LEN(@Line) < @DefinedLength AND CHARINDEX(' ',
230 @SyscomText,
231 @TextLength + 1) > 0
232 BEGIN
233 SELECT @Line = @Line + ' ',
235 END
236 END
237 END
238 END
239 FETCH NEXT FROM ms_crs_syscom INTO @SyscomText
240 END
241
242
243 IF @Line IS NOT NULL
244 INSERT #CommentText
245 VALUES ( @LineId, @Line )
246 SELECT Text
247 FROM #CommentText
248 ORDER BY LineId
249 CLOSE ms_crs_syscom
250 DEALLOCATE ms_crs_syscom
251 DROP TABLE #CommentText