elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: [AIO elhacker.NET 2015] Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Declaracion de variables en trigger mysql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Declaracion de variables en trigger mysql  (Leído 251 veces)
d91

Desconectado Desconectado

Mensajes: 151


Ver Perfil
Declaracion de variables en trigger mysql
« en: 17 Enero 2017, 15:06 »

Hola, estoy tratando de crear un trigger para auditar el inventario a partir de las compras en una base de datos de MYSQL 5.7, (solo he trabajado PL sql y T-sql) pero me genera un error al compilar, esto en la sección de declaracion de variables, ya intente de muchas formas pero no me resulta, no se si me alguien pueda orientar para lograr correr el codigo
Código
  1. CREATE TRIGGER Audit_Compra_Trigger
  2. AFTER INSERT ON compra_detalle
  3. FOR EACH ROW
  4. BEGIN
  5. DECLARE var_CurrentStock INTEGER;
  6. DECLARE var_producto INTEGER;
  7. DECLARE var_CurrentPrice DECIMAL(5,2);
  8. DECLARE cur_Datos Cursor FOR SELECT CostoActual, Stock
  9. FROM Inventario WHERE Producto_Id = var_producto;
  10. SET var_producto = NEW.Producto_Id;
  11.  
  12. OPEN cur_Datos;
  13. FETCH cur_Datos INTO var_CurrentPrice, var_CurrentStock;
  14. CLOSE cur_Datos;
  15.  
  16. SET var_CurrentStock = var_CurrentStock + NEW.Cantidad;
  17.  
  18. UPDATE Inventario
  19. SET CostoAnterior = var_CurrentPrice,
  20. CostoActual = NEW.PrecioCosto,
  21. PrecioSugerido = NEW.PrecioSugerido,
  22. Stock = var_CurrentStock
  23. WHERE Producto_Id = var_producto;
  24. END
  25.  
  26.  


En línea

d91

Desconectado Desconectado

Mensajes: 151


Ver Perfil
Re: Declaracion de variables en trigger mysql
« Respuesta #1 en: 18 Enero 2017, 13:19 »

Soy nuevo con codigo almacenado Mysql pero lo hice funcionar con algunas lineas adicionales:
Código
  1. DELIMITER $$
  2. CREATE TRIGGER Audit_Compra_Trigger
  3. AFTER INSERT ON compra_detalle
  4. FOR EACH ROW
  5. BEGIN
  6. DECLARE var_CurrentStock INT DEFAULT 0;
  7. DECLARE var_producto INT DEFAULT 0;
  8. DECLARE var_CurrentPrice DECIMAL(5,2);
  9. DECLARE cur_Datos Cursor FOR SELECT CostoActual, Stock
  10. FROM Inventario WHERE Producto_Id = var_producto;
  11.  
  12. SET var_producto = NEW.Producto_Id;
  13.  
  14. OPEN cur_Datos;
  15. FETCH cur_Datos INTO var_CurrentPrice, var_CurrentStock;
  16. CLOSE cur_Datos;
  17.  
  18. SET var_CurrentStock = var_CurrentStock + NEW.Cantidad;
  19.  
  20. UPDATE Inventario
  21. SET CostoAnterior = var_CurrentPrice,
  22. CostoActual = NEW.PrecioCosto,
  23. PrecioSugerido = NEW.PrecioSugerido,
  24. Stock = var_CurrentStock
  25. WHERE Producto_Id = NEW.Producto_Id;
  26. END$$
  27.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda declaración de variables en C++
Programación C/C++
FaiF (A¥åHøRå) 0 2,406 Último mensaje 5 Enero 2008, 14:07
por FaiF (A¥åHøRå)
Declaración multiple de variables...
Programación Visual Basic
Yekka 4 1,044 Último mensaje 16 Marzo 2009, 06:17
por BlackZeroX (Astaroth)
[Solucionado] Pregunta Trigger MySql
Bases de Datos
raul_samp 0 1,181 Último mensaje 27 Marzo 2012, 17:09
por raul_samp
[CUAL ES EL ERROR] Crear variables en trigger MYSQL [RESUELTO]
Bases de Datos
Effort 3 910 Último mensaje 20 Febrero 2015, 18:21
por Effort
Trigger sencillo MySQL « 1 2 »
Bases de Datos
Baal_30 12 1,887 Último mensaje 1 Julio 2015, 19:25
por Baal_30
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines