aaa entonces tu tabla inserted tendria solamente
campo1 campo2
1 'a'
cada vez que se ejecuta cierto? no pues de esa manera nunca se podra obtener lo que necesitas, lo que necesitarias seria hacer una reconciliacion de datos contra la base de datos donde estas almacenando la informacion algo asi:
Código SQL:
Ver originalINSERT INTO tabla VALUES (id,campo1,campo2)
SELECT 0,campo1,campo2 FROM inserted
UPDATE tabla
SET id=t1.id
FROM
(
SELECT ROW_NUMBER() OVER (partition BY campo1 ORDER BY campo1) AS id, campo1 FROM tabla
) AS t1 WHERE t1.campo1=tabla.campo1
asi tendrias lo siguiente:
digamos insertas:
campo1 campo2
1 'g'
y ya tienes en tu tabla
campo1 campo2
1 'a'
1 'b'
1 'c'
2 'd'
2 'e'
entonces quedaria
id campo1 campo2
1 1 'a'
2 1 'b'
3 1 'c'
1 2 'd'
2 2 'e'
0 1 'g'
y hacemos el update
y nos queda lo que buscas
id campo1 campo2
1 1 'a'
2 1 'b'
3 1 'c'
4 1 'g'
1 2 'd'
2 2 'e'
:)
saludos!
P.D: Casi no uso el msn, mejor mandame un email a mi cuenta :)