Hi,I am almost going crazy with this. I have a table that I bulk insert into from another database using VS2005.I need to change the data in the records before committing the values in the fields. To do that I created an (Instead of Insert) trigger.The trigger basically check conditions using IF statements and accordingly does the appropriate action, which is simply switching values between two fields (swapping).My problem is that when the trigger fires, the logic within the if statements seem to overlap or something. The whole table fields are swapped rather than only the targeted ones.Please tell me what is the proper syntax for having multiple (IF THEN ELSE) statements within a trigger.Here is the code to be more specific:set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGOALTER TRIGGER [dbo].[dbo_fwdcalls] ON [dbo].[calls]INSTEAD OF INSERTASBEGINSET NOCOUNT ON;IF EXISTS (SELECT joinonbehalfof FROM INSERTED WHERE ((joinonbehalfof='10') AND (duration > 0) AND(LEFT(callingpartynumber,1)='8' OR LEFT(callingpartynumber,1)='9' )AND (lastredirectdn BETWEEN '4020' AND '4024' OR lastredirectdn BETWEEN '5020' AND '5024')))INSERT INTO calls SELECT [dateTimeOrigination] ,[origNodeId] ,[origSpan] ,[origIpAddr] ,[finalCalledPartyNumber]--Mark ,[origCause_location] ,[origCause_value] ,[origMediaTransportAddress_IP] ,[origMediaTransportAddress_Port] ,[destLegIdentifier] ,[destNodeId] ,[destSpan] ,[destIpAddr] ,[originalCalledPartyNumber] ,[callingPartyNumber]--Mark ,[destCause_location] ,[destCause_value] ,[destMediaTransportAddress_IP] ,[destMediaTransportAddress_Port] ,[dateTimeConnect] ,[dateTimeDisconnect] ,[lastRedirectDn] ,newid() as Pkid ,[originalCalledPartyNumberPartition] ,[finalCalledPartyNumberPartition]--Mark ,[callingPartyNumberPartition]--Mark ,[lastRedirectDnPartition] ,[duration] ,[origDeviceName] ,[destDeviceName] ,[origCalledPartyRedirectReason] ,[lastRedirectRedirectReason] ,[destConversationId] ,[origCallTerminationOnBehalfOf] ,[destCallTerminationOnBehalfOf] ,[lastRedirectRedirectOnBehalfOf] ,[joinOnBehalfOf] FROM INSERTEDELSE---------------------------------- Conferenced Calls--------------------------------IF EXISTS (SELECT joinonbehalfof FROM INSERTED WHERE (joinonbehalfof='4') AND (duration > 0) AND(LEFT(callingpartynumber,1)='8' OR LEFT(callingpartynumber,1)='9' )AND NOT (lastRedirectDn BETWEEN '4020' AND '4024' OR lastRedirectDn BETWEEN '5020' AND '5024')AND (LEFT(lastRedirectDn,1) <> 'b'))INSERT INTO calls SELECT [dateTimeOrigination] ,[origNodeId] ,[origSpan] ,[origIpAddr] ,[lastRedirectDn]--Mark ,[origCause_location] ,[origCause_value] ,[origMediaTransportAddress_IP] ,[origMediaTransportAddress_Port] ,[destLegIdentifier] ,[destNodeId] ,[destSpan] ,[destIpAddr] ,[originalCalledPartyNumber] ,[callingPartyNumber]--Mark ,[destCause_location] ,[destCause_value] ,[destMediaTransportAddress_IP] ,[destMediaTransportAddress_Port] ,[dateTimeConnect] ,[dateTimeDisconnect] ,[finalCalledPartyNumber]--Mark ,newid() as Pkid ,[originalCalledPartyNumberPartition] ,[callingPartyNumberPartition] ,[finalCalledPartyNumberPartition] ,[lastRedirectDnPartition] ,[duration] ,[origDeviceName] ,[destDeviceName] ,[origCalledPartyRedirectReason] ,[lastRedirectRedirectReason] ,[destConversationId] ,[origCallTerminationOnBehalfOf] ,[destCallTerminationOnBehalfOf] ,[lastRedirectRedirectOnBehalfOf] ,[joinOnBehalfOf] FROM INSERTEDELSE---------------------------------- Employee Transferred Calls--------------------------------IF EXISTS (SELECT joinonbehalfof FROM INSERTED WHERE ((joinonbehalfof='10') AND (duration > 0) AND(LEFT(callingpartynumber,1)='8' OR LEFT(callingpartynumber,1)='9' )AND NOT (lastRedirectDn BETWEEN '4020' AND '4024' OR lastRedirectDn BETWEEN '5020' AND '5024')AND (LEFT(lastRedirectDn,1) <> 'b')))INSERT INTO calls SELECT [dateTimeOrigination] ,[origNodeId] ,[origSpan] ,[origIpAddr] ,[lastRedirectDn]--Mark ,[origCause_location] ,[origCause_value] ,[origMediaTransportAddress_IP] ,[origMediaTransportAddress_Port] ,[destLegIdentifier] ,[destNodeId] ,[destSpan] ,[destIpAddr] ,[originalCalledPartyNumber] ,[callingPartyNumber]--Mark ,[destCause_location] ,[destCause_value] ,[destMediaTransportAddress_IP] ,[destMediaTransportAddress_Port] ,[dateTimeConnect] ,[dateTimeDisconnect] ,[finalCalledPartyNumber]--Mark ,NEWID() AS Pkid ,[originalCalledPartyNumberPartition] ,[callingPartyNumberPartition] ,[finalCalledPartyNumberPartition] ,[lastRedirectDnPartition] ,[duration] ,[origDeviceName] ,[destDeviceName] ,[origCalledPartyRedirectReason] ,[lastRedirectRedirectReason] ,[destConversationId] ,[origCallTerminationOnBehalfOf] ,[destCallTerminationOnBehalfOf] ,[lastRedirectRedirectOnBehalfOf] ,[joinOnBehalfOf] FROM INSERTEDELSEINSERT INTO calls SELECT * From InsertedEND