Я хочу знать, почему я не могу установить значение по умолчанию для SP DATETIME параметр для GetDate(), как показано ниже:Почему мы не можем установить значение по умолчанию для параметра datetime в хранимой процедуре = getDate()?
Create PROCEDURE [dbo].[UPILog]
(
@UserID bigint,
@ActionID smallint,
@Details nvarchar(MAX) = null,
@Created datetime = getdate()
)
если я пытаюсь сохранить это даст мне ошибку компилятора
Msg 102, Level 15, State 1, Procedure UPILog, Line XX
Incorrect syntax near '('.
EDIT: Я знаю, что я могу сделать это, как показано ниже
Create PROCEDURE [dbo].[UPILog]
(
@UserID bigint,
@ActionID smallint,
@Details nvarchar(MAX) = null,
@Created datetime = null
)
AS
if @Created is null
SET @Created=getdate() ...
Почему я не могу использовать его .. это будет непросто для SQL-движка? –
Есть ли какое-либо объяснение, почему оно не может принять это ... или это как правило SQL SERVER, которое не может вызывать функцию в качестве параметра по умолчанию –
, оно должно быть постоянным значением. –