
16/01/2009, 15:05
|
| | Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 16 años, 2 meses Puntos: 0 | |
Triggers y problemas varios Hola, estoy haciendo una base de datos pero quiero hacer una cosa un poco complicada
Veamos, tengo estas tablas:
PELICULA:
codigo (INT, clave primaria)
stock (int)
y luego una linia de factura con
id: (INT, clave primaria)
peli (INT, ID de la pelicula)
---------------------------------
Ahora viene lo bueno, quiero que de alguna manera me guarde en una variable el resultado de un SELECT
CREATE PROCEDURE prod (IN id INT, OUT salida INT)
BEGIN
SELECT stock INTO salida
FROM pelicula p
WHERE id = p.codigo;
END;
y luego hago esto
CREATE TRIGGER stock0 AFTER INSERT ON linia_factura
FOR EACH ROW BEGIN
DECLARE id,stoc INT;
SET id = linia_factura.peli;
CALL prod (id,stoc);
IF stoc<=0 THEN
UPDATE pelicula SET stock=10 WHERE codigo=id;
END IF;
END;
pero me da error, en la linia 5 (WHERE id = p.codigo;), no entiendo como hacer que en añadir una nueva linia de factura, que me mire si el stock es 0 y si fuera asi, me añadiera 10
gracias de antemano |