Ho provato a modificare un valore di parametro predefinito con questo:
ALTER PROCEDURE [dbo].[my_sp]
@currentDate datetime = GETDATE()
e tutto il pre-compilatore SQL mi ha dato era questo errore:
Msg 102, livello 15, stato 1, procedura my_sp, riga 8 Sintassi non corretta vicino a '('.
Ho già creato la procedura. (Non sono sicuro che sia rilevante.) Stavo usando un valore predefinito nullo e lo controllavo in seguito, ma non sembra corretto. Posso farlo in una riga?
Aggiornamento: stavo uscendo dalla descrizione di MSDN dei parametri della procedura memorizzata :
[= predefinito] È un valore predefinito per il parametro. Se viene definito un valore predefinito, la funzione può essere eseguita senza specificare un valore per quel parametro.
Nota:
i valori dei parametri predefiniti possono essere specificati per le funzioni CLR ad eccezione dei tipi di dati varchar (max) e varbinary (max).Quando un parametro della funzione ha un valore predefinito, la parola chiave DEFAULT deve essere specificata quando la funzione viene chiamata per recuperare il valore predefinito. Questo comportamento è diverso dall'utilizzo di parametri con valori predefiniti nelle stored procedure in cui l'omissione del parametro implica anche il valore predefinito.
Sto leggendo questo sbagliato?
Grazie molto.