RE:Crear Procedimientos Almacenados, vistas, trigg
Publicado por
jisus (1 intervención) el 01/09/2014 07:20:48
las lineas que estas haciendo es para un trigger,necesitas poner un delimiter antes para que te pueda funcionar sin ningun problema.
ejemplo
mysql> DELIMITER //
mysql> CREATE TABLE ventas (id INT NOT NULL AUTO_INCREMENT,
-> item VARCHAR(10),
-> valor DECIMAL(9,2),
-> ejecutivo_cuenta VARCHAR(10),
-> comision DECIMAL(7,2),
-> PRIMARY KEY(id)) //
mysql> CREATE PROCEDURE comision(valor DECIMAL(9,2))
-> BEGIN
-> SET @comm := valor / 10;
-> END;
-> //
mysql> CREATE TRIGGER ventas_comm BEFORE INSERT ON ventas
-> FOR EACH ROW
-> BEGIN
-> CALL comision(NEW.valor);
-> SET NEW.comision = @comm;
-> END;
-> //
mysql> DELIMITER ;
mysql> INSERT INTO ventas(item, valor, ejecutivo_cuenta) VALUES('Queso',300.00,'Mario');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO ventas(item, valor, ejecutivo_cuenta) VALUES('Papas',400.00,'Mario');
Query OK, 1 row affected (0.01 sec)
mysql> SELECT * FROM ventas;
+----+-------+--------+------------------+----------+-------
| id | item | valor | ejecutivo_cuenta | comision |
+----+-------+--------+------------------+----------+-------
| 1 | Queso | 300.00 | Mario | 30.00 |
| 2 | Papas | 400.00 | Mario | 40.00 |
+----+-------+--------+------------------+----------+-------
2 rows in set (0.00 sec)
asi te muestra el trigger