none
quisiera saber como puedo realizar un trigger que me calcule e inserte en el campo precio de la tabla detalles alquiler ( siendo el precio precio_dias * num_dias ) RRS feed

  • Pregunta

  • quisiera saber como puedo realizar un trigger que me calcule e inserte en el campo PRECIO de la tabla DETALLES_ALQ ( siendo el precio precio_dias * num_dias ) QUE SE ENCUENTRA EN LA MISMA TABLA

    soy muy novato en esto

    lunes, 20 de febrero de 2017 1:14

Respuestas

  • SERGIOFF,

    Cuando el valor de una columna se puede calcular en base a una expresión simple hay que considerar si es necesario crearla/mantenerla en la tabla. 

    - Crear una columna calculada (sin persistencia).

    /*Quitar columna de la tabla*/
    ALTER TABLE DROP COLUMN precio;
    GO
    /*Agregar columna calculada*/
    ALTER TABLE ADD precio AS precio_dias * num_dias;
    GO

    - Implementar un trigger de inserción/actualización

    CREATE TRIGGER dbo.NombreTrigger
        ON dbo.NombreTabla
        AFTER INSERT, UPDATE
    AS
    BEGIN
        UPDATE T1
        SET
    	   precio = precio_dias * num_dias
        FROM
    	   inserted i
    	   INNER JOIN NombreTabla t1 ON (t1.id = i.id)
    END
    GO


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    lunes, 20 de febrero de 2017 1:36