我有一个代码是:
DECLARE @Script VARCHAR(MAX)
SELECT @Script = definition FROM manged.sys.all_sql_modules sq
where sq.object_id = (SELECT object_id from managed.sys.objects
Where type = 'P' and Name = 'usp_gen_data')
Declare @Pos int
SELECT @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500)
PRINT SUBSTRING(@Script,1,@Pos)
PRINT SUBSTRING(@script,@pos,8000)
脚本的长度约为 10,000 个字符,并且由于我使用的打印语句最多只能容纳 8000 个字符。所以我使用了两个打印语句。
问题是当我有一个 18000 个字符的脚本时,我曾经使用 3 个打印语句。
那么有没有办法可以根据脚本的长度设置打印语句的数量?
原文由 peter 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以根据脚本长度除以 8000 的计数执行
WHILE
循环。例如: