Quiero saber por qué no puedo establecer el valor por defecto de parámetros de fecha y hora a SP a getdate() de la siguiente manera:¿Por qué no podemos establecer el valor predeterminado del parámetro datetime en el procedimiento almacenado = getDate()?
Create PROCEDURE [dbo].[UPILog]
(
@UserID bigint,
@ActionID smallint,
@Details nvarchar(MAX) = null,
@Created datetime = getdate()
)
si trato de guardarlo me dará un error de compilación
Msg 102, Level 15, State 1, Procedure UPILog, Line XX
Incorrect syntax near '('.
EDIT: sé que puedo hacerlo, como a continuación
Create PROCEDURE [dbo].[UPILog]
(
@UserID bigint,
@ActionID smallint,
@Details nvarchar(MAX) = null,
@Created datetime = null
)
AS
if @Created is null
SET @Created=getdate() ...
por qué no puedo usarlo ... ¿no será fácil hacer un motor sql? –
¿Hay alguna explicación de por qué no puede aceptar esto ... o es una regla como SQL SERVER que no puede llamar a la función como un parámetro predeterminado –
tiene que ser un valor constante. –