我构建了一个这样的存储过程:
create proc sp_test
(@name nvarchar(100))
as
begin
select * from company
where company.companyname like '%'+@name+'%'
end
go
现在我想测试我的存储过程。因为公司名称可能有一个单引号,例如:Bob's Warehouse,所以我使用这个名称作为参数在 DEV、SIT、UAT 等不同环境中运行我的存储过程。我用 2 个单引号替换单引号。我发现我可以在 DEV 中获得结果,但不能在 UAT 中获得结果。我不知道为什么。
exec sp_test 'Bob''s Warehouse'
这与不同环境中的数据库设置有关吗?为什么完全相同的代码可以在一种环境中运行,而在另一种环境中却不行?
提前致谢。