小编M74*_*4d3的帖子

为什么SSMS会更改我的存储过程(重新格式化,将exec更改为EXECUTE等)

SSMS突然重新格式化了我的存储过程-以前从未这样做过。这是我正在谈论的示例。这是我上周创建的存储过程的开始:

CREATE PROCEDURE [dbo].[usp_LoanDataNames]
(  
@LoanID varchar(max) = null,
@Columns varchar(max) = null,
@DataNames NVARCHAR(MAX) = '',
@SQL NVARCHAR(MAX) = ''
)
AS
Run Code Online (Sandbox Code Playgroud)

我今天之前创建的所有存储过程仍然具有该格式。但是,当我今天以与上面相同的格式创建一个新的存储过程,然后调出存储过程脚本时,它看起来像这样:

CREATE PROCEDURE [dbo].[usp_LoanDataNames2]
@LoanID VARCHAR (MAX)=NULL, @Columns VARCHAR (MAX)=NULL, @DataNames NVARCHAR (MAX)='', @SQL NVARCHAR (MAX)=''
AS
Run Code Online (Sandbox Code Playgroud)

这是与以前不同的格式。它将所有参数上移,以立即跟随存储过程的名称,并将它们全部放在同一行。另外(并且我也不必费心发布整个存储过程,因此也没有发布此部分),它更改ExecExecute。并且它改变了各种行上的缩进,并将许多小写单词改为大写。

如果我这样做,它甚至会更改格式:

CREATE PROCEDURE  [dbo].[usp_LoanDataNames] 
AS

DECLARE 
@LoanID varchar(max) = null,
@Columns varchar(max) = null,
@DataNames NVARCHAR(MAX) = '',
@SQL NVARCHAR(MAX) = ''
 )
Run Code Online (Sandbox Code Playgroud)

它将变为:

CREATE PROCEDURE [dbo].[usp_LoanDataNames2]
@LoanID VARCHAR (MAX)=NULL, @Columns VARCHAR (MAX)=NULL, @DataNames NVARCHAR …
Run Code Online (Sandbox Code Playgroud)

sql-server parameters formatting ssms stored-procedures

5
推荐指数
1
解决办法
543
查看次数