请看下面的首两行,是从表 TblProductionOrders删除什么东西吧?下一句的DBCC CHECKIDENT看不懂,请大神解释一下。DELETE TblProductionOrders
DBCC CHECKIDENT('TblProductionOrders',RESEED,1)INSERT INTO TblProductionOrders
(PartNumber
,ProductionOrder
,Qty
,StartTime)
SELECT PartNumber
,ProductionOrder
,COUNT(DISTINCT SerialNumber)
,MIN(TestDateTime)
FROM TblTestData
GROUP BY PartNumber,ProductionOrder
DBCC CHECKIDENT('TblProductionOrders',RESEED,1)INSERT INTO TblProductionOrders
(PartNumber
,ProductionOrder
,Qty
,StartTime)
SELECT PartNumber
,ProductionOrder
,COUNT(DISTINCT SerialNumber)
,MIN(TestDateTime)
FROM TblTestData
GROUP BY PartNumber,ProductionOrder
解决方案 »
- sqlserver2005大数据量处理问题
- sql2005数据库还原的问题.
- sql server 2008查询问题(新手)
- Sql Server 2008 怎么改启动服务名
- 请问怎样能对比两个DB阿,我们有两个测试用的SQL SERVER系统,怎样才能对比他们的数据库的区别。
- windows下数据库向linux数据库迁移
- 数据库维护------急啊
- XP SP2下能装SQL 7.0吗
- 使用SQL SERVER 2K的看过来,插入identity列值问题,高手请看
- 怎样用sql plus连上一台服务器啊?
- 请问新浪微博的回复是如何设计的?
- 大神请进,关于SQL查询语句的疑问~!~~~~~~~~
DBCC CHECKIDENT('TblProductionOrders',RESEED,1)
是要对其当前标识值进行检查的表名。 指定的表必须包含标识列。 表名必须符合标识符规则。
NORESEED
指定不应更改当前标识值。
RESEED
指定应该更改当前标识值。http://msdn.microsoft.com/zh-cn/library/ms176057.aspx
然后delete清空了一个表,那么再继续插入值是从6开始的
通过用DBCC CHECKIDENT将种子置为1,delete后的表再插入数据时是从2开始的
其实可以用truncate table tablename,清空表数据的同时会将种子置为0
也就是再插入时是从1开始的
DELETE TblProductionOrders
DBCC CHECKIDENT('TblProductionOrders',RESEED,1)
TRUNCATE TABLE TblProductionOrders等价于DELETE TblProductionOrders
DBCC CHECKIDENT('TblProductionOrders',RESEED,0)
而你上面种子没有置0,而是置为了1,插入新数据时是从2开始的