本帖最后由 fxn1212 于 2012-08-23 11:18:18 编辑

解决方案 »

  1.   

    你不要select *,把要插入的列显式写出来。用*号是不好的习惯
      

  2.   

    这点是好的。。最重要的是timestamp类型的问题,那么不能修改数据表中的结构怎么样进行插入?
      

  3.   

    时间戳列好像是不需要显式插入的,由系统自动生成,你显式插入反而会报错,比如表a(id,timestamp),那你插入的时候只需要插入id就可以了。你试试。另外,时间戳是不建议后续继续使用的功能。
      

  4.   

    你插入的时候写清楚插入那些列就可以了,然后提供的值里面和列字段对应就可以了。具体到你个例子,
    假设你两个表结构都为  id(自增) value1 value2 timestamp
    那么,你 INSERT SELECT 时,不要 SELECT *
    用 SELECT value1,value2 就可以了,因为 id 是自增列,系统会自动处理。timestamp也是系统自动处理的,这两个字段都不能显示提供插入值。
      

  5.   

    写个东东解决
    判断是否包含
    CHARINDEX(@DataType, 'Timestamp') <= 0
                SET @FieldList = @FieldList + ', [' + @Name + ']'