【发布时间】:2017-09-06 14:32:09
【问题描述】:
我在 Azure 上的示例数据库中创建了一个存储过程:
CREATE PROCEDURE SalesLT.InsertOrderHeader(@OrderDate AS DATETIME=NULL, @DueDate AS DATETIME=NULL, @CustomerID AS INT=NULL)
AS
DECLARE @SalesOrderID INT = NEXT VALUE FOR SalesLT.SalesOrderNumber
IF @OrderDate IS NULL
BEGIN
SET @OrderDate = GETDATE()
END
INSERT INTO SalesLT.SalesOrderHeader(SalesOrderID,OrderDate,DueDate,CustomerID,ShipMethod)
VALUES (@SalesOrderID,@OrderDate,@DueDate,@CustomerID,'CARGO TRANSPORT 5')
PRINT @SalesOrderID
这很好,但是当我尝试调用它时,我想要一个从现在起一周后的约会:
EXEC SalesLT.InsertOrderHeader @DueDate= DATEADD(dd,7,getDate()) , @CustomerID=1
这不起作用。错误表明它在哪里说'dd'它期望(或选择,对于获取日期的右括号也是如此。它有什么问题?
【问题讨论】:
-
您不能将函数调用作为参数传递给您的存储过程。而是使用中间变量stackoverflow.com/questions/2399104/…
标签: sql azure datetime stored-procedures