还是没解决sqlserver 08 sp_executesql 创建内容超过8000字符的存储过程存储过程是个整体拆开执行就报错了
如果你需要创建内容超过8000字符的存储过程,你可以尝试使用下面的方法:
-
将存储过程代码分成多个较小的部分,并使用变量来存储每个部分的代码。
-
使用动态SQL(Dynamic SQL)将这些较小的部分合并成一个完整的存储过程。
例如,假设你需要创建一个内容超过8000字符的存储过程,你可以将它分成3个部分:
DECLARE @part1 nvarchar(max)
SET @part1 = 'CREATE PROCEDURE my_proc AS BEGIN'
DECLARE @part2 nvarchar(max)
SET @part2 = 'SELECT * FROM my_table'
DECLARE @part3 nvarchar(max)
SET @part3 = 'END'
DECLARE @full_code nvarchar(max)
SET @full_code = @part1 + @part2 + @part3
EXEC sp_executesql @full_code
这样,你就可以通过分割代码和动态SQL来创建内容超过8000字符的存储过程了
原文地址: http://www.cveoy.top/t/topic/dw6K 著作权归作者所有。请勿转载和采集!