none
INSERTAR ID EN BASE A CONDICION RRS feed

  • Pregunta

  • HOLA, estoy realizando un trigger para que inserte algunos campos de tabla 1 a otra tabla 2 en base a una condicion de un campo de tabla 1, el campo es CONECTADO si este es igual a SI insertara ciertos campos a la tabla 2, en tabla uno tiene lo siguiente [ID1, ID_TABLA2, NOMBRE, CONECTADO, FECHA] y la tabla2 [ID_TABLA2, NOMBRE, FECHA] lo que no he podido es que tambien inserte el ID_TABLA2 en tabla 1.

    viernes, 9 de septiembre de 2016 11:13

Respuestas

  • ADRI_91,

    Te recomiendo que aportes algo mas de claridad al caso.

    ¿Cómo relacionas las filas entre ambas tablas para realizar la actualización si mencionas que la tabla 'Tabla1' no cuenta con el valor de relación (FK)? ¿basta combinar las filas mediante el valor de la columna 'NOMBRE'?

    Por otro lado, estamos hablando de un trigger de tipo AFTER que se desencadena tras una operación de UPDATE, ¿verdad?

    Esperamos por tus comentarios.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 9 de septiembre de 2016 22:47

Todas las respuestas

  • Hola.

    Podrías dar un poco mas de información por ejemplo si es un trigger en INSERT, UPDATE o DELETE y si es AFTER o BEFORE porque puede originar recursividad, o si el INSERT en Tabla2 es de un solo registro. Dicho esto voy a suponer que es un solo registro. Puedes de alguna forma obtener dentro del trigger en Tabla1 el máximo valor de ID_TABLA (por ejemplo si es autoincremental MAX(ID_TABLA2) porque si lo haces pasando el valor a Tabla2 con INSERT .. VALUES(...) pues ya lo tenias.

    Para evitar la recursividad tienes dos opciones, que el trigger sea INSTEAD OF y asi insertas en Tabla2  y actualizas Tabla1.

    Otra forma es usando la funcion UPDATE(ID_TABLA2) en el trigger, si es verdadero entonces RETURN dentro del trigger.



    viernes, 9 de septiembre de 2016 15:02
  • ADRI_91,

    Te recomiendo que aportes algo mas de claridad al caso.

    ¿Cómo relacionas las filas entre ambas tablas para realizar la actualización si mencionas que la tabla 'Tabla1' no cuenta con el valor de relación (FK)? ¿basta combinar las filas mediante el valor de la columna 'NOMBRE'?

    Por otro lado, estamos hablando de un trigger de tipo AFTER que se desencadena tras una operación de UPDATE, ¿verdad?

    Esperamos por tus comentarios.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 9 de septiembre de 2016 22:47