Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/06/2010, 21:55
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Trigger Insert After Update

En realidad cuesta entender el sentido de este ejercicio, porque la respuesta sería:
Código MySQL:
Ver original
  1. INSERT INTO laprueba VALUES("algo", 120, ROUND((120 * 1.15), 2));
Pero aún así, considerando que la tabla
Código MySQL:
Ver original
  1. CREATE TABLE laprueba(
  2.     nombrep VARCHAR(20),
  3.     preciocompra DECIMAL(6,2),
  4.     precioventa DECIMAL(6,2));
no tiene definido precioventa como NOT NULL, el trigger sería probablemente:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. DROP TRIGGER IF EXISTS `examenextra`.`ponpreven`$$
  3. CREATE TRIGGER `examenextra`.`ponpreven` before INSERT on `examenextra`.`laprueba`
  4.   SET NEW.precioventa = NEW.preciocompra * 1.15;
  5. END$$
  6. DELIMITER ;
Ten en cuenta que un INSERT no crea sólo el conjunto de campos que estás insertando, sino todos los campos del registro, por lo que "precioventa" existe como objeto, y como tal es accesible con la pseudovariable NEW. Entonces, para llenarlo solamente debes actualizar su valor con el resultado deseado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)