场景描述:两张定义为主从关系的XML,需要导入到数据库中去,主表的主键PKID,在数据库中为自增列。那么主表在导入到数据库中时,其主键的值不会被数据库理会,带来的问题是,导入从表后,相互之间的依赖关系被破坏。
解决方案一:每插入一条主表记录,就取回其插入成功后生成的PKID,再赋值给从表的外键,再插入从表。
解决方案二:导入数据之前,把主表的主键列的自增标识设置为“否”,导入数据以后再恢复为“是”
现求一SQL,怎样设置自增列的开闭。

解决方案 »

  1.   

    SET IDENTITY_INSERT tmpTable ON      --关闭自动增长标识SET IDENTITY_INSERT tmpTable Off     --打开自动增长标识
      

  2.   

    set identity_insert 表名 on
    导入数据
    set identity_insert 表名 off
      

  3.   

    还是有点疑问,执行了SET IDENTITY_INSERT TableName ON 以后,在查询分析器里面执行insert语句可以插入数据,但是企业管理器里面的表设计中标识看起来没变化哦,而且直接在企业管理中插入数据也不成功。