首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >打印未来30年的天数的计数方法-为什么要在计数中添加主键约束?

打印未来30年的天数的计数方法-为什么要在计数中添加主键约束?
EN

Stack Overflow用户
提问于 2019-05-09 23:54:16
回答 3查看 48关注 0票数 0

这是我用来打印出未来30年的所有日期的查询。

SELECT TOP 11000 --number of days for 30 years
       IDENTITY(INT,1,1) AS N
INTO #Tally
FROM Master.dbo.SysColumns sc1,
     Master.dbo.SysColumns sc2

declare @endDate datetime = '2049-01-01'
       ,@tmpDate datetime = '2019-01-01'

select dateadd(day, t.N - 1, @tmpDate)
from #Tally t
where t.N - 1 <= DATEDIFF(day, @tmpDate, @endDate)

它工作得很好。但是,一位SQL专家建议我将这些查询添加到我创建#Tally的第一部分下面。

ALTER TABLE #Tally
ADD CONSTRAINT PK_Tally_N 
PRIMARY KEY CLUSTERED (N) WITH FILLFACTOR = 100

如果我运行select * from #Tally上面的"ALTER“查询,结果表中没有任何变化。

我想知道我应该添加ALTER查询的原因是什么(不能问他)?这样做的目的是什么?我看到它添加了一个主键约束,但是为什么要使用clustered(n)fillfactor=100呢?

谢谢!

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56063309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档