declare @i int, @j
select @i = count(*) from Table
set @i = @i / 3
exec ('insert Table1 select top ' + @i + ' * from Table order by 唯一编号')
select @j = max(唯一编号) from Table1
exec ('insert Table2 select top ' + @i + ' * from Table where 唯一编号 > ' + @j + ' order by 唯一编号')
select @j = max(唯一编号) from Table2
exec ('insert Table3 select * from Table where 唯一编号 > ' + @j + ' order by 唯一编号')

解决方案 »

  1.   

    declare @i int, @j int
      

  2.   

    服务器: 消息 8101,级别 16,状态 1,行 1
    仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'Depot1' 中为标识列指定显式值。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    服务器: 消息 156,级别 15,状态 1,行 1
    在关键字 'order' 附近有语法错误。
    是一个这样的错误应点处理呀????