Join   tblInterfaceExport 
LEFT   Join   tblInterfaceExport/ Join   tblInterfaceExport 第一个为 tblInterfaceExport连接存在的值,第二个为不包括存在的值---结果相反

解决方案 »

  1.   

    Inserted I 是什么意思? 我并没有这个table在我的database里?
      

  2.   

    Inserted 这个表是SQL 执行update时生成的一个临时的table.
      

  3.   

    SQL Server执行update,会生成deleted和inserted两个table,
    deleted表是修改前的数据,inserted是修改后的数据,
    SQL内部有个delete和insert的过程.
      

  4.   

    还是不太明白。 inserted这个临时table里储存的是什么数据亚? 是从哪里得到的亚?
      

  5.   

    那为什么是
    Insert tblInterfaceExport (ExternalId, EventId)
    Select I.InterfaceExportID, I.EventId
    From Inserted I left Join tblInterfaceExport IE  ON I.ExternalId = IE.ExternalId 
    where I.IsComplete = 1 and I.SendToInterface = 1  and I.TransferState = 4 and IE.ExternalId is null
    是不是应该修改成这样
    Insert tblInterfaceExport (ExternalId, EventId)
    Select I.InterfaceExportID, I.EventId
    From Inserted I left Join tblInterfaceExport IE  ON I.InterfaceExportID= IE.ExternalId 
    where I.IsComplete = 1 and I.SendToInterface = 1  and I.TransferState = 4 and IE.ExternalId is null因为I.InterfaceExportID 对应的是 IE.ExternalId
      

  6.   

    表Inserted对应的是表tblEvent的字段
      

  7.   

    是不是应该修改成这样
    Insert   tblInterfaceExport   (ExternalId,   EventId)
    Select   I.InterfaceExportID,   I.EventId
    From   Inserted   I   left   Join   tblInterfaceExport   IE     ON   I.InterfaceExportID=   IE.ExternalId  
    where   I.IsComplete   =   1   and   I.SendToInterface   =   1     and   I.TransferState   =   4   and   IE.ExternalId   is   null因为I.InterfaceExportID   对应的是   IE.ExternalId