关于IDENTITY

表中某列设为int,自动增长型的,也即IDENTITY为(1,1),现在我想为此表重新导入数据,而此列的数据也为以前的,该要怎么办?我是想先去掉自动增长的属性,插入后再还原此属性。但是执行alter   表   列   IDENTITY为(1,1)   NOT   NULL命令会出错?
问题点数:100、回复次数:5

 
1 楼得分 0
alter   table无法直接实现这种处理.  
   
  由于这种处理需要删除标识列(或者是删除表)来处理,建议在企业管理器中进行


2 楼pbsql(风云)回复于 2005-05-23 10:05:22 得分 50
SET   IDENTITY_INSERT   yourtable   ON  
  向yourtable导入数据  
  SET   IDENTITY_INSERT   yourtable   OFF  
 


3 楼 得分 50

如果只是为了导入数据保持源数据中的标识值.   建议使用下面的方法处理:  
   
  1.   使用sql语句导入  
  set   identity_insert   目标表   on  
  insert   目标表(列的列表)     --一定要写上  
  select   列的列表   from   源表     --源表和目标表的列要对应  
  set   identity_insert   目标表   off  
 
4 楼 得分 0
如果是使用sql的导入导出向导完成导数据处理,则在"选择源表和视图"的步骤中,单击"转换"按钮,将"启用标识插入"选上.

posted on 2009-01-06 15:35  冉元胜  阅读(233)  评论(0)    收藏  举报

导航