sqlserver 没有自增列  如何处理实现增量读取
sqlserver 表没有自增列  如何处理实现增量读取 ,想实现每次从已有的这个库中读取一段,下次只读取比上次大的数据,(比如 某个字段 > 上次的值 ),想用时间但是有重复的时间不好弄了。。。
sql如下
 
USE [test] 
GO 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
SET ANSI_PADDING ON 
GO 
CREATE TABLE [dbo].[test]( 
	[goodsNo] [char](8) NOT NULL, 
	[goodsName] [char](8) NULL, 
	[Type] [char](8) NULL, 
	[Num] [char] NULL, 
	[InputMan] [char](8) NULL, 
	[Date] [datetime] NULL, 
) ON [PRIMARY] 
GO 
SET ANSI_PADDING OFF 
 
有这个ON [PRIMARY]是不是说明 主文件上有自增的字段?大牛们帮忙看看....
              
              
------解决方案-------------------- 1、ON [PRIMARY]只是说明这个表创建在primary文件组上,也就是默认的文件组。不用管太多。
2、不是只有自增ID才能找到增量值,有时候自增反而是一种危险。
3、最重要你要找到表的主键。而业务上怎么判断一个主键,那恐怕只能设计的人和熟悉业务的人才知道了。
4、我现在假设[goodsNo] ,[goodsName] 这两个联合起来可以唯一标识一条数据,也就是联合主键,然后给你一个例子, 你那个:
SELECT  * 
FROM    test a 
WHERE   NOT EXISTS ( SELECT 1 
                     FROM   test b 
                     WHERE  a.[goodsNo] = b.[goodsNo] 
                            AND a.[goodsName] = b.[goodsName] ) 
5、没有自增你可以自己加个自增上去啊,如果是05以上的版本:
SELECT  row_number() OVER ( ORDER BY GETDATE() ) id , 
        * 
FROM    test  
这样就有了一个ID列了。
------解决方案-------------------- 类似于使用ROW_NUMber()分页功能。 
------解决方案-------------------- 引用: 引用: 
1、ON [PRIMARY]只是说明这个表创建在primary文件组上,也就是默认的文件组。不用管太多。 
2、不是只有自增ID才能找到增量值,有时候自增反而是一种危险。 
3、最重要你要找到表的主键。而业务上怎么判断一个主键,那恐怕只能设计的人和熟悉业务的人才知道了。 
4、我现在假设[goodsNo] ,[goodsName] 这两个联合起来可…… 那如果可以改表的话,先创建一个一模一样的实体表,然后加上一列自增列,然后把数据从源表导过去。再删除源表,最后重命名新表为源表名字。
------解决方案-------------------- 用goodsNo作匹配,時間會有重複?