I have a table named CounterData as: CounterID (int) CounterValue (int) CounterDateTime (char 24) I am trying to write a trigger that will modify the CounterDateTime value for each row as it is inserted into the table. Here is my Trigger as it is working now with the problem/questions to follow: *** CREATE TRIGGER [Trigger1] ON [dbo].[CounterData] FOR INSERT, UPDATE AS UPDATE CounterData SET CounterDateTime = CAST(counterdatetime as datetime) *** Problems: 1.) This trigger method is actually doing the CAST operation on every record in the CounterDateTime column over and over for every time there is an UPDATE or INSERT. I need to make the trigger only manipulate the current record each time ther is an INSERT or UPDATE --- NOT the entire column over again each time. 2.) This trigger does not seem to work when the records are inserted by the application. However if I manually go into the CounterData table and manually update one of the records, the trigger kicks in and corrects the entire CounterDateTime column. Essentially, I need the trigger to only work with the current record as it is inserted or updated. How can I do this?