Amigo Bluesteel, el uso de cursores es un tema muy debatido en los foros referentes a SQL Server, ya que en la opinión de la mayoria no se debe hacer uso excesivo de estos por la disminución del performance del Servidor, pero eso es tema para la sección de debates. Existen 2 soluciones a tu problema
1. Sin cursores
Código SQL
[-] UPDATE T
SET T.Abo_Estado='D'
FROM Abono T
JOIN Deleted D ON T.Abo_Codigo=D.Abo_Codigo
2. Con cursores
Código SQL
[-] Declare @Abo_Codigo Int
Declare MiCursor Cursor For
Select Abo_Codigo From Deleted
Open MiCursor
Fetch Next From MiCursor into @Abo_Codigo
while @@Fetch_Status = 0
begin
Update Abono
Set Abo_Estado='D'
Where Abono.Abo_Codigo = @Abo_Codigo
Fetch Next From MiCursor into @Abo_Codigo
end
Close MiCursor
Deallocate MiCursor
Espero que te sirva. Saludos