Les cuento, mir problema es el siguiente: tengo 3 tablas que son usuario
DROP TABLE IF EXISTS pru.usuario;
CREATE TABLE `usuario` (
`id_usuario` int(11) NOT NULL AUTO_INCREMENT,
`nombre_usuario` varchar(50) NOT NULL,
`apellido_usuario` varchar(50) NOT NULL,
PRIMARY KEY (`id_usuario`)
)
libro
DROP TABLE IF EXISTS pru.libro;
CREATE TABLE `libro` (
`id_libro` int(11) NOT NULL AUTO_INCREMENT,
`nombre_libro` varchar(50) NOT NULL,
`stock_libro` int(11) NOT NULL,
PRIMARY KEY (`id_libro`)
)
y prestamo
DROP TABLE IF EXISTS pru.prestamo;
CREATE TABLE `prestamo` (
`id_prestamo` int(11) NOT NULL AUTO_INCREMENT,
`id_usuario` int(11) NOT NULL,
`id_libro` int(11) NOT NULL,
`cantidad_prestamo` int(11) NOT NULL,
PRIMARY KEY (`id_prestamo`),
KEY `id_libro` (`id_libro`),
KEY `id_usuario` (`id_usuario`)
)
el problema es que quiero crear un trigger que automáticamente descuente el campo stock_libro de la tabla libro lo he intentado pero recién estoy aprendiendo la sintaxis, lo que tengo es esto trigger
CREATE TRIGGER `pru`.actualiza_stock AFTER INSERT
ON prestamo
FOR EACH ROW
begin
declare @stcok int
select @stock = stock_libro from libro, prestamo
where libro.id_libro = prestamo.id_libro
update libro set stock_libro = stock_libro-cantidad_prestamo
from libro,prestamo
where prestamo.id_libro = libro.id_libro
end
Ojala me puedan ayudar ya que llevo un par de días pegado en esto