You can use the same trigger for both insert and update. There is no need to update the whole table, just the inserted/updated row.
CREATE TRIGGER widget_name_trigger
ON
widgets
FOR
INSERT, UPDATE
AS
UPDATE
widgets
SET
widget_name = 'UNKNOWN'
WHERE
widget_type_id = 17
AND
widget_is_fizz = 1
AND
widget_id=inserted.widget_id
In terms of performance: As long as you don't reference other tables the overhead is very low.
From the Sybase manual:
In terms of performance, trigger overhead is usually very low. The time involved in running a trigger is spent mostly in referencing other tables, which may be either in memory or on the database device.
The deleted and inserted trigger test tables are always in active memory. The location of other tables referenced by the trigger determines the amount of time the operation takes.