太简单啦。因为有INDITIFY类型的字段, 
不可以显示插入数据。
若你第一句插入成功,那么.
第二句话是错的,数据插不进出。插入失败 @@INDITYIFY就为空啦.
于是第三句是为空,当然这句也错啦,插不进数据
不信插后用SELECT 查询一下表,
数据有没有插入。

解决方案 »

  1.   

    to tidycc(tidy):
      插入都成功的,只是第三句的ID为空!
      

  2.   

    嘻~~~,这样啊,那你就用啦
    SET IDENTITY_INSERT 禁止IDENTITY,否则你那能插入, 
    也因为你禁止,所以@@identity 就不能得到啦, 
    要改成。
    insert 表一 (aaa) values(:aaa)              //如果插入后ID为10
    insert 表二 (bbb) values(:bbb)               //再 SELECT @@indentity
    insert 表三 (ccc) values(:ccc)               //再 SELECT @@indentity
    若你能显示插入,作为系统变量@@IDENTITY当然得不到系统值啦。
      

  3.   

    begin trandeclare @var1 intinsert table1
    set @var1 = @@identity
    insert table2 values(@var1)
    insert table3 values(@var1)commit tran