stored procedure di SQL caso sono sensibili?
-
21-08-2019 - |
Domanda
per esempio ...
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
Questo non è il mio codice, ma se questo è case sensitive quindi @days non sta per essere calcolato correttamente come la startDate / StartDate e endDate / enddate variabili non corrispondono ...
Soluzione
Possono essere, a seconda delle regole di confronto del database. Quando si installa SQL Server e scegliere il confronto predefinito, si noterà che c'è una casella di controllo "caso sensibilità". Certe regole di confronto sono case sensitive e influenzeranno le vostre domande (e stored procedure).
Peggio ancora, molti fornitori non testano i loro prodotti sui server delle regole di confronto maiuscole e minuscole, che porta ad errori di runtime.
Altri suggerimenti
No. Non T-SQL, almeno ...
Se non ricordo male, che non sono case sensitive per se stessi comandi SQL, ho regolarmente visti scritti in minuscolo. Sono abbastanza sicuro che il resto è case-insensitive così, dato che la sua estensione delle specifiche T-SQL.