SQL 저장 절차 사례에 민감합니까?
-
21-08-2019 - |
문제
예를 들어...
ALTER PROCEDURE [dbo].[Reports_Dashboard_Get_Sav]
-- Add the parameters for the stored procedure here
@startDate datetime,
@endDate datetime,
@companyID int=null
set @days=datediff(m,@startdate,@enddate)
if (@days)=0
set @days=1
이것은 내 코드가 아니지만 이것이 대소 문자 인 경우 @days는 startDate/startDate 및 EndDate/EndDate 변수가 일치하지 않기 때문에 올바르게 계산되지 않을 것입니다 ...
해결책
데이터베이스의 협업에 따라 될 수 있습니다. SQL Server를 설치하고 기본 Collation을 선택하면 "Case Sensitivity"확인란이 있음을 알 수 있습니다. 특정 콜라이트는 사례에 민감하며 쿼리 (및 저장된 절차)에 영향을 미칩니다.
더 나쁜 것은, 많은 공급 업체가 Case Inditive Collations를 사용하여 서버에서 제품을 테스트하지 않으므로 런타임 오류가 발생합니다.
다른 팁
아뇨. 적어도 T-SQL은 ...
내가 기억 하듯이, 그들은 SQL 명령 자체에 대해 사례에 민감하지 않으며, 나는 그것들이 소문자로 쓰여진 것을 보았습니다. 나는 T-SQL 사양의 확장이라는 점을 감안할 때 나머지는 사례에 민감하다고 확신합니다.
제휴하지 않습니다 StackOverflow