Yanıtlar:
Depolanan yordamınıza bağımsız değişken olarak bir işlev çağrısı iletemezsiniz. Bunun yerine bir ara değişken kullanın:
DECLARE @tmp DATETIME
SET @tmp = GETDATE()
EXEC DisplayDate @tmp;
As Mitch Buğday söz Eğer bir işlev geçemez.
Sizin durumunuzda önceden hesaplanmış bir değer veya GETDATE () girmeniz gerekiyorsa - varsayılan değeri kullanabilirsiniz. Örneğin, saklı yordamınızı değiştirin:
ALTER PROC DisplayDate
(
@DateVar DATETIME = NULL
) AS
BEGIN
set @DateVar=ISNULL(@DateVar,GETDATE())
--the SP stuff here
SELECT @DateVar
END
GO
Ve sonra şunu deneyin:
EXEC DisplayDate '2013-02-01 00:00:00.000'
EXEC DisplayDate
Açıklama : Burada NULL değerinin bu parametre için kullanımda olmadığını varsayıyorum. Sizin durumunuz değilse - başka bir kullanılmayan değer kullanabilirsiniz, örneğin '1900-01-01 00: 00: 00.000'