[RESOLVIDO] TRIGGER emperrado por causa de UPDATE

Pessoal, tenho as seguintes tabelas:

tb1:

DATA COD_Ajustado COD_Original VALOR 01/12/2011 1234 1234 30359,32 01/01/2012 1234 1234 35364,32 01/02/2012 1234 1234 35208,32 01/09/2011 5678 5678 109950 01/09/2011 5678 5678 125631,07 01/10/2011 5678 5678 109900 01/10/2011 5678 5678 135414,4205

tb2:

COD_Original COD_Ajustado 12 1 123 23 1234 456 5678 789
Quero fazer um update na tb1 com os dados da tb2 conforme resultado final abaixo. Ou seja, quero trocar o COD_Ajustado da tb1 pelo COD_Ajustado da tb2, só isso:

DATA COD_Ajustado COD_Original VALOR 01/12/2011 456 1234 30359,32 01/01/2012 456 1234 35364,32 01/02/2012 456 1234 35208,32 01/09/2011 789 5678 109950 01/09/2011 789 5678 125631,07 01/10/2011 789 5678 109900 01/10/2011 789 5678 135414,4205
Eu fiz o óbvio, mas tá errado:

UPDATE tb1 SET COD_Ajustado = (select x.COD_Ajustado from tb2 x inner join tb1 y on x.COD_Ajustado=y.COD_Original)
Mensagem SQLSERVER:

Msg 512, Level 16, State 1, Line 7 A subconsulta retornou mais de 1 valor. Isso não é permitido quando a subconsulta segue um =, !=, <, <= , >, >= ou quando ela é usada como uma expressão.
Alguém sabe como fazer esse update ?

Eu criei um trigger p/ isso, mas, pelo mesmo motivo anterior, está funcionando p/ inserção de só 1 registro por vez:

ALTER TRIGGER [dbo].[trgChanger] ON [dbo].[tb1] AFTER INSERT AS BEGIN DECLARE @cod INT = (SELECT COD_Original FROM INSERTED) IF EXISTS --avalia se há cod_original na tb2 p/ poder fazer a troca ( SELECT cod_Ajustado FROM tb2 WHERE cod_Original=@cod ) BEGIN UPDATE tb1 SET cod_Original=(SELECT cod_Ajustado FROM tb2 WHERE cod_Original=@cod) END ELSE RAISERROR ('Ocorreu falha !.', 16, 10); END
Resolvendo o UPDATE eu consigo desemperrar esse trigger.

Agradeço quem puder ajudar.

No Sql Server, o comando Update pode conter um From.

Nesse From que você colocaria aquele join que está tentando fazer no subselect.

http://msdn.microsoft.com/en-us/library/aa260662(v=sql.80).aspx

Putz, é mesmo !

Resolvido.

A quem interessar possa:

UPDATE tb1 SET COD_Ajustado=x.COD_Ajustado FROM tb2 x, tb1 y WHERE y.COD_Ajustado=x.COD_Original

Obrigado !

OK, já foi resolvido.