2011-12-16 46 views
2

简单的问题:为什么上面的语句的工作,但底部一个失败SQL服务器 - GETUTCDATE() '附近有语法错误)'

'附近有语法错误('

代码:

USE [Research] 
GO 

DECLARE @d datetime 
SELECT @d = GETUTCDATE() 

DECLARE @return_value int 

EXEC @return_value = [MyApp].[DateStamp] 
     @date = @d 

SELECT 'Return Value' = @return_value 

GO 

这一次失败:

USE [Research] 
GO 

DECLARE @return_value int 

EXEC @return_value = [MyApp].[DateStamp] 
     @date = GETUTCDATE() 

SELECT 'Return Value' = @return_value 

GO 

DateStamp是一个将一堆东西写入时间维度的过程,如财务年度,季度等。

谢谢。

+0

奇怪 - 当我发布时,您好或您好! – 2011-12-16 11:38:51

回答

3

为什么上面的语句的工作,但底部一个失败

EXECUTE分配值的参数必须是一个值的变量或DEFAULTGETUTCDATE()是需要评估的表达式。