merge insert . , :
SELECT 'empName' AS FieldName, d.empName AS OldValue, i.empName AS NewValue
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.EmpName<>d.ImpName
UNION ALL
SELECT 'Age', d.Age, i.Age
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.Age<>d.Age
UNION ALL
SELECT 'Address1', d.Address1, i.Address1
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.Address1<>d.Address1
UNION ALL
SELECT 'Phone', d.Phone, i.Phone
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.Phone<>d.Phone
, :
MERGE AuditTable AS Destination
USING (
SELECT 'empName' AS FieldName, d.empName AS OldValue, i.empName AS NewValue
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.EmpName<>d.ImpName
UNION ALL
SELECT 'Age', d.Age, i.Age
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.Age<>d.Age
UNION ALL
SELECT 'Address1', d.Address1, i.Address1
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.Address1<>d.Address1
UNION ALL
SELECT 'Phone', d.Phone, i.Phone
FROM Inserted i
INNER JOIN deleted d ON d.EmpID = i.EmpID
WHERE i.Phone<>d.Phone
) AS SOURCE ON SOURCE.FieldName = Destination.UpdateFieldName
AND SOURCE.OldValue = Destination.OldFieldValue
AND SOURCE.NewValue = Destinatino.NewFieldValue
WHEN MATCHED THEN UPDATE SET OldFieldValue = OldValue,
NewFieldValue = NewValue
WHEN NOT MATCHED THEN INSERT (UpdateFieldName, OldFieldValue, NewFieldValue)
VALUES(FieldName, OldValue,NewValue)