每当我尝试"修改"或使用"脚本来"在SQL Server Management Studio中使用存储过程的函数,SP中的每个引号都替换为双引号。每当我的同事使用修改或脚本时,他们都会用单引号接收输出。双引号会破坏查询。它似乎是SSMS中的一个设置,但我找不到任何这样的设置。
任何建议都将受到赞赏。
答案 0 :(得分: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 >
时该选项应该是正确的。