2

每当我尝试在 SQL Server Management Studio 中对存储过程“修改”或使用“脚本”功能时,SP 中的每个单引号都会被双引号替换。每当我的任何同事使用 modify 或 script to 时,他们都会收到单引号中的输出。双引号会中断查询。它似乎是 SSMS 中的一个设置,但我找不到任何这样的设置。

任何意见,将不胜感激。

4

1 回答 1

3

我相信您从脚本选项中获得了动态 SQL,因为您选择了此选项:

工具 > 选项 > SQL Server 对象资源管理器 > 脚本 > 检查对象是否存在

启用此设置后,将生成如下脚本:

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = ...)
BEGIN
EXEC dbo.sp_executesql @statement = N'ALTER PROCEDURE...'
END

right-click > Modify禁用此选项,使用或时应该正确right-click > Script stored procedure as > ALTER to >

于 2013-09-05T14:58:50.013 回答