Rajesh Yerramsetti Ответов: 2

Почему я получаю несколько разрывов строк, когда пытаюсь изменить хранимую процедуру в SQL server management studio 2012


Недавно я установил Sql server 2012, с этого времени word me сталкивается с проблемой, при попытке открыть хранимую процедуру в новом окне запроса я получаю несколько разрывов строк между ними из-за этого очень трудно пройти через код, Пожалуйста, помогите мне решить эту проблему.
Пожалуйста, найдите код snap shot.

Что я уже пробовал:

--SP_HELPTEXT SP_GetSummaryReport































 --EXEC SP_GetSummaryReport_bkp_CR_2976_114218_12_12_2018 0,'','','302719','','Open','',0,'',''































-- =============================================































-- Author:  Sarang Darkonde































-- Create date: 11-May-2016































-- Description: SP_GetSummaryReport































-- =============================================































CREATE PROCEDURE [VRMS].[SP_GetSummaryReport]































(































 @ApplnID int = null,































 @FromDate varchar(50) = null,































 @ToDate varchar(50) = null,































 @TsgHeadID varchar(20) = null,































 @BTGHeadId varchar(20) = null,































 @status varchar(5) = null,































@ResidualRisk varchar(10)=null,































@Tier int=null,































@Sox varchar(3)=null,































@Type varchar(10)=null































)































































AS































BEGIN































































































declare @sql varchar(8000);































































set @sql = ' select































   CONVERT(int,ROW_NUMBER() over (order by rptmain.Report_Id)) as srno,































































   applnmst.Application_Name,































   rptmap.URL,































   applnmst.Tier,































   applnmst.SOX_Criticality,Observation,rptmap.Residual_Rating as Severity,rptmap.Inherent_Rating as Inherent_Risk,rptmap.Residual_Rating as Residual_Risk,































   -- below code added by Prathamesh as per requirement as on 28/11/2016--































    isnull(applnmst.Tech_Group_Name,''--'') as Tech_Group_Name,































applnmst.Bt_Head_Name,































  isnull(applnmst.RRR_Approvers_in_IRIS_Name,''--'') as TsgHead_Name,































   applnmst.AO_Name,































   applnmst.CAN_ID,































   datediff(DD,rptmap.Reported_Dt,GETDATE()) as DAYSOPEN,CAST( Closed_Dt AS DATE) as Closed_Dt,































   Exp_Closure_Dt as Expected_Clos_Dt,































   rptmain.Remarks,































































































































   --code ends here--































   Reported_Dt as RptDt,































































  Due_Date as Due_Date,































































   rptmap.Active_Flag as Status,































   Reported_By as Rptby,































   case when rptmap.Type = ''P'' then ''Cloud based IP''































        when rptmap.Type = ''I'' then ''Internal''































        when rptmap.Type = ''U'' then ''Cloud based URL''































        when rptmap.Type = ''V'' then ''Annual VAPT''































        when rptmap.Type = ''A'' then ''ASLC''































        when rptmap.Type = ''R'' then ''Recursive''



        when rptmap.Type = ''B'' then ''BitSight''































   else































    ''''































   end as Type,































   obsmst.Category,rptmap.Status_Flag as Action,































   Exp_Closure_Dt as Expected_Clos_Dt,rptmap.ISG_Status_Flag,applnmst.Lifecycle_Stage,Group_company































































































   from VRMS_APPLICATION_MASTER as applnmst,































   VRMS_OBSERVATION_MASTER as obsmst,































   VRMS_OBS_REPORT_MAIN as rptmain,































   VRMS_OBS_REPORT_MAPPING as rptmap































   where































   applnmst.Application_Id = rptmain.Application_Id































   and rptmain.Report_Id = rptmap.Report_Id































   and rptmap.Observation_Id = obsmst.Observation_Id'































































































if (@ApplnID <>'' AND @ApplnID is not null AND @ApplnID <> 0)































Begin































  set @sql = @sql + ' and rptmain.Application_Id= '+ convert(varchar(10),@ApplnID) + ''































End































































if (@TsgHeadID <>'' AND @TsgHeadID is not null AND @TsgHeadID <> 0)































Begin































set @sql = @sql + ' and applnmst.RRR_Approvers_in_IRIS_Id='''+ @TsgHeadID +''''































End































































if (@BTGHeadId <>'' AND @BTGHeadId is not null)































Begin































set @sql = @sql + ' and applnmst.BT_Head ='''+ @BTGHeadId +''''































End





























































if (@FromDate <>'' and @ToDate <>'')































begin































set @sql = @sql + ' and convert(datetime,DATEADD(dd, 0, DATEDIFF(dd, 0, rptmap.Reported_Dt)),103) > = convert(datetime,'''+@FromDate+''', 103)































     and convert(datetime,DATEADD(dd, 0, DATEDIFF(dd, 0, rptmap.Reported_Dt)),103) < = convert(datetime,'''+@ToDate+''', 103)'































end































































if (@status <>'' AND @status is not null) --AND @status <> 0)































Begin































 set @sql = @sql + ' and rptmap.Active_Flag =  '''+ @status +''''































End































































if (@ResidualRisk <>'' AND @ResidualRisk  is not null) --AND @status <> 0)































Begin































 set @sql = @sql + ' and rptmap.Residual_Rating =  '''+ @ResidualRisk +''''































End































































if (@Tier <>'' AND @Tier  is not null AND @Tier  <> 0)































Begin































  set @sql = @sql + ' and applnmst.Tier = '+ convert(varchar(10),@Tier) + ''































End































































if (@Sox <>'' AND @Sox   is not null) --AND @status <> 0)































Begin































 set @sql = @sql + ' and applnmst.SOX_Criticality =  '''+ @Sox +''''































End































































if (@Type <>'' AND @Type   is not null) --AND @status <> 0)































Begin































 set @sql = @sql + ' and rptmain.Type =  '''+ @Type +''''































End































































    print (@sql);































exec(@sql);































































END 

2 Ответов

Рейтинг:
1

manub22

Избегайте использования процедура sp_helptext чтобы работать с существующей хранимой процедурой, так как она может добавлять разрывы строк, разместите ограничение по умолчанию 256 символов и разделите его на несколько строк, как упоминалось @MadMyche.

Для правильного использования попробуйте использовать представление sys.sql_modules просмотрите или сгенерируйте код в SSMS, щелкнув правой кнопкой мыши хранимую процедуру и выбрав либо "изменить", либо "написать хранимую процедуру".


Рейтинг:
0

MadMyche

При использовании sp_HelpText, по умолчанию результаты отправляются в сетку, и существует также ограничение в 256 символов на столбец.

Вы можете сходить в Запрос меню, чтобы несколько изменить это, изменив это на Результаты =&ГТ; результаты в текст Затем снова в запрос меню и выберите параметр запроса, Текст и увеличьте максимальное количество символов в столбце до 8192.

Существует код, доступный для создания лучше версия sp_HelpText, которая не имеет этих ограничений. Новый SQL Server sp_helptext позволяет избежать разбиения кода на строки[^]

Я сам просто щелкаю правой кнопкой мыши на названии процедуры и выбираю Скрипт Хранимой Процедуры как Создавать