none
Inserted RRS feed

  • Pregunta

  • Hola a todos.

    No puedo hacer funcionar el inserted.

    Quiero hacer un trigger que, al insertar un precio nuevo en un registro de compras, me actualice el precio en otra tabla (esta última tabla es una lista de precios actualizada). Pero da error:

    update TABLA1 set CAMPO1 = inserted.CAMPO2, CAMPO3 = inserted.CAMPO4

    where CAMPO5 = inserted.CAMPO6

    -----> Acá el error es que no encuentra el valor CAMPO6 en la tabla inserted (pero debería, porque sí existe).

    update TABLA1 set CAMPO 1 = select CAMPO2 from inserted where CAMPO3 = select CAMPO4 from inserted

    -----> Acá el error es de sintaxis (algo mal escrito) cerca de CAMPO4.

    Les agradezco sus respuestas de antemano, saludos.


    lunes, 20 de mayo de 2019 16:36

Respuestas

  • Hola Matias Salvador Gotta:

    Update tabla1 set campo1= (select campo2 from inserted where campo3 = (select campo4 from inserted))

    Pareces querer sugerir eso, pero ojo sería hacer una update a todos los registros de tabla1.

    set campo1 = ( un valor )

    A lo mejor es 

    Update tabla1 set campo1 = (select campo2 from inserted) where campo3 = (select campo4 from inserted)

    pero si quieres hacer eso siempre será mejor hacer una inner join entre tabla1 y inserted

    update t  set campo1= i.campo2, campo3 = i.campo3 from tabla1 as t inner join inserted as i on t.(identificador) = i.(identificador)

    Con la definición que has puesto, es difícil aproximarse más a la realidad

    lunes, 20 de mayo de 2019 17:38