Являются ли хранимые процедуры 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 и выбираете параметры сортировки по умолчанию, вы заметите, что есть флажок «чувствительность к регистру».Некоторые параметры сортировки чувствительны к регистру и повлияют на ваши запросы (и хранимые процедуры).
Хуже того, многие поставщики не тестируют свои продукты на серверах с параметрами сортировки, чувствительными к регистру, что приводит к ошибкам во время выполнения.
Другие советы
Нет.По крайней мере, не T-SQL...
Насколько я помню, сами команды SQL не чувствительны к регистру, я часто видел их написанными в нижнем регистре.Я почти уверен, что остальное также нечувствительно к регистру, учитывая, что это расширение спецификации T-SQL.