为什么这个存储过程执行不了?

littlebao 2004-04-29 03:31:19
好像陷入死循环,不能结束,但看不出那里出问题了:
CREATE TABLE DUEDATES(CheckOutDate smalldatetime , DueDate smalldatetime)
GO
CREATE PROCEDURE Popduedates AS
SET NOCOUNT ON
DECLARE @year integer , @insertday datetime
SELECT @year = YEAR(GETDATE()) , @insertday = CAST(@year AS char(4)) + '0101'
-- TRUNCATE TABLE DUEDATES
WHILE @year = YEAR(@insertday)
BEGIN
IF ((SELECT DATEPART(dw , @insertday)) NOT IN(1,7))
AND NOT EXISTS(SELECT * FROM HOLIDAYS WHERE HolidayDate = @insertday)
INSERT INTO DUEDATES VALUES(@insertday , @insertday+14)
SET @insertday = @insertday + 1
END
GO
EXEC Popduedates
其中HOLIDAYS 如下
CREATE TABLE HOLIDAYS(HolidayName char(30) , HolidayDate smalldatetime)

INSERT HOLIDAYS VALUES('New Year''s Day' , '19990101')
INSERT HOLIDAYS VALUES('Valentine''s Day' , '19990214')
INSERT HOLIDAYS VALUES('St. Patrick''s Day' , '19990317')
INSERT HOLIDAYS VALUES('Memorial Day' , '19990530')
INSERT HOLIDAYS VALUES('Independence Day' , '19990704')
INSERT HOLIDAYS VALUES('Labor Day' , '19990906')
INSERT HOLIDAYS VALUES('Indigenous Peoples Day' , '19991011')
INSERT HOLIDAYS VALUES('Halloween' , '19991031')
INSERT HOLIDAYS VALUES('Thanksgiving Day' , '19991125')
INSERT HOLIDAYS VALUES('Day After Thanksgiving' , '19991126')
INSERT HOLIDAYS VALUES('Christmas Day' , '19991225')
INSERT HOLIDAYS VALUES('New Year''s Eve' , '19991231')
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlebao 2004-04-29
  • 打赏
  • 举报
回复
呵呵,谢谢,原来是我之前写的一个写错了,要把那个删了才行。
outwindows 2004-04-29
  • 打赏
  • 举报
回复
我这里运行也没问题...
zjcxc 元老 2004-04-29
  • 打赏
  • 举报
回复
我的电脑上测试你的存储过程没有问题.

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧