sql server 2008中的datetime变量存在问题
我试图在SQL中声明一个日期变量,当我调试它时,它挂起在sql server 2008中的datetime变量存在问题,sql,sql-server,sql-server-2008,Sql,Sql Server,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
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声明为Datetime
开始
设置@ShiftDate='2013-01-01 00:00:00.000'
结束
将@ShiftDate声明为日期时间
开始
设置@ShiftDate='2013-01-01 00:00:00.000'
结束
将@EndDate声明为DATETIME
开始
SET@EndDate='2013-12-31 00:00:00.000'
结束
去
而@ShiftDate@EndDate
打破
其他的
继续
结束
如果我告诉它继续,它会出现错误:
必须声明标量变量“@ShiftDate”
感谢您的帮助。从脚本中删除
GO
;GO
实际上是在启动一个新的处理部分,而@ShiftDate
将不在脚本下一部分的范围内
有关详细信息,请参阅。从脚本中删除
GO
;GO
实际上是在启动一个新的处理部分,而@ShiftDate
将不在脚本下一部分的范围内
有关更多信息,请参阅。对我来说很好,这是您的整个脚本吗?为什么集合位于开始-结束块中?如果使用集合而不使用开始/结束,则会出现相同的错误?在这里工作,但可能有一些设置/范围问题?@LittleBobbyTables我用我的脚本的更多内容更新了这个问题,让您有更好的想法。对我来说很好,这是您的整个脚本吗?为什么集合在开始-结束块中?如果使用不带开始/结束的集合,您会遇到相同的错误?在这里工作,但可能有一些设置/范围问题?@LittleBobbyTables我用我的更多脚本更新了这个问题,让你有一个更好的想法。谢谢!这解决了我的问题谢谢!这解决了我的问题