SSMS突然重新格式化了我的存储过程-以前从未这样做过。这是我正在谈论的示例。这是我上周创建的存储过程的开始:
CREATE PROCEDURE [dbo].[usp_LoanDataNames]
(
@LoanID varchar(max) = null,
@Columns varchar(max) = null,
@DataNames NVARCHAR(MAX) = '',
@SQL NVARCHAR(MAX) = ''
)
AS
我今天之前创建的所有存储过程仍然具有该格式。但是,当我今天以与上述相同的格式创建一个新的存储过程,然后调出存储过程脚本时,它看起来像这样:
CREATE PROCEDURE [dbo].[usp_LoanDataNames2]
@LoanID VARCHAR (MAX)=NULL, @Columns VARCHAR (MAX)=NULL, @DataNames NVARCHAR (MAX)='', @SQL NVARCHAR (MAX)=''
AS
这是与以前不同的格式。它将所有参数上移,以立即跟随存储过程的名称,并将它们全部放在同一行。另外(并且我也不必费心发布整个存储过程,因此也没有发布此部分),它更改Exec
为Execute
。并且它改变了各种行上的缩进,并将许多小写单词改为大写。
如果我这样做,它甚至会更改格式:
CREATE PROCEDURE [dbo].[usp_LoanDataNames]
AS
DECLARE
@LoanID varchar(max) = null,
@Columns varchar(max) = null,
@DataNames NVARCHAR(MAX) = '',
@SQL NVARCHAR(MAX) = ''
)
它将变为:
CREATE PROCEDURE [dbo].[usp_LoanDataNames2]
@LoanID VARCHAR (MAX)=NULL, @Columns VARCHAR (MAX)=NULL, @DataNames NVARCHAR (MAX)='', @SQL NVARCHAR (MAX)=''
AS
知道为什么会这样吗?我们在这里使用某些标准,并且原始存储过程正在格式化我的公司喜欢的格式。问题是我不能再使用该格式,因为我创建或更改的每个存储过程现在都会自动重新格式化。有任何想法吗?
谢谢。
当您使用“始终加密”并启用选项“为始终加密启用参数化”时,会发生这种情况。
修理:
Query > Query Options > Execution > Advanced
Enable Parameterization for Alway Encrypted
(在列表的末尾)仅在使用临时查询而不是存储过程时,才应启用此选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句