【发布时间】:2023-03-17 08:38:01
【问题描述】:
每当我尝试在 SQL Server Management Studio 中对存储过程“修改”或使用“script to”函数时,SP 中的每个单引号都会被双引号替换。每当我的任何同事使用 modify 或 script to 时,他们都会收到单引号中的输出。双引号会中断查询。它似乎是 SSMS 中的一个设置,但我找不到任何这样的设置。
任何建议将不胜感激。
【问题讨论】:
标签: sql-server ssms
每当我尝试在 SQL Server Management Studio 中对存储过程“修改”或使用“script to”函数时,SP 中的每个单引号都会被双引号替换。每当我的任何同事使用 modify 或 script to 时,他们都会收到单引号中的输出。双引号会中断查询。它似乎是 SSMS 中的一个设置,但我找不到任何这样的设置。
任何建议将不胜感激。
【问题讨论】:
标签: sql-server ssms
我相信您从脚本选项中获得了动态 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 >时应该正确。
【讨论】: