首页 > 解决方案 > SQL 存储过程 - 代码长度 > 8,000 时运行错误

问题描述

我有一个 SQL 存储过程,它提供来自多个数据库的输出。它看起来像这样(当代码主体少于 8000 个字符时,它运行良好。但是当我向代码添加更多内容时,它会给出随机错误“不正确的语法”)。请帮我解决。

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create proc [dbo].[ALR_PolTest_pn] 
@svr varchar(255),   --- Server
@NEWRDM varchar(255), ---- DB Name
@OLDRDM varchar(255), ---- DB Name
@NEWEDM varchar(255),  ---- DB Name
@OLDEDM varchar(255), ---- DB Name
@NEWPort varchar(255), ---- DB ID
@OLDPort varchar(255), ---- DB ID
@output nvarchar (max)
AS
DECLARE @SQL1       AS nVarchar(Max)
SET @SQL1 = '

--- THE CODE BODY

'
Exec(@SQL1)



exec dbo.[ALR_PolTest_pn] 
'pwbpdscatfrms01',--svr
'R_1Q2020_04132020_ER_USC_V2',-- NEW RDM
'R_2019Q4_DC2_01222020_EER_USC_NC',-- OLD RDM
'E_1Q2020_04132020_ER_USC_V2',-- NEW EDM
'E_2019Q4_DC2_01222020_EER_USC_NC',-- OLD EDM
'3',-- NEW PORT IDs
'3',-- OLD PORT IDs
'' --- OUTPUT

标签: sqlstored-procedures

解决方案


推荐阅读