繁体   English   中英

SQL Server 2008中的datetime变量问题

[英]Issue with datetime variable in sql server 2008

我试图在SQL中声明一个日期变量,当我对其进行调试时,它挂在SET部分上。 该查询还有更多内容,但实际上会循环遍历,添加不同的输入,直到12月31日为止。

DECLARE @ShiftDate AS Datetime
BEGIN
    SET @ShiftDate = '2013-01-01 00:00:00.000'
END
DECLARE @ShiftDate AS DATETIME
BEGIN
SET @ShiftDate = '2013-01-01 00:00:00.000'
END

DECLARE @EndDate AS DATETIME
BEGIN
SET @EndDate = '2013-12-31 00:00:00.000'
END


GO
WHILE @ShiftDate <= @EndDate
BEGIN
INSERT INTO [ManufacturingTracking].[dbo].[TenteringCrewShift]
       ([SearchDate]
       ,[Shift])
 VALUES (@ShiftDate, 'B')
 SET @ShiftDate = DATEADD(DATE, 1, @ShiftDate)
 IF @ShiftDate > @EndDate
    BREAK
 ELSE
    CONTINUE
END

如果我告诉它继续进行操作,则会出现错误:

必须声明标量变量“ @ShiftDate”。

任何帮助表示赞赏。

从脚本中删除GO GO本质上开始了处理的新部分,而@ShiftDate不在脚本的下一部分中。

有关更多信息,请参见GOMSDN文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM