• A trigger is a stored procedure like T-SQL that executes in response to inserts, updates, or deletes.  It is not related to keys or indexes. 

    Every table should have a primary key even if you have to add an identity column.  If you have a set of columns that are unique, then they are a good candidate for a PK.  Without a key or any index, performance will be very bad. 

    It sounds like you have a problem with the queries.  I can't say what without seeing them or understanding the process.  Perhaps your queries need to distinguish or include existing records from or to the new records being inserted. 

    Randy
    Helpdesk: Perhaps Im not the only one that does not know what you are doing. 😉