clear markdown compare help best fiddles feedback
clear markdown feedback
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0. 3601446 fiddles created (47995 in the last week).

SELECT VERSION();
VERSION()
8.0.26
 hidden batch(es)


DROP TABLE IF EXISTS `detalleventa`, `producto`; CREATE TABLE IF NOT EXISTS `producto` ( `codigo` VARCHAR(45), `precio` DECIMAL(10, 2) ); CREATE TABLE IF NOT EXISTS `detalleventa` ( `idventa` INT, `codproducto` VARCHAR(45), `cantidad` INT, `total` DECIMAL(10, 2) ); CREATE TRIGGER `trg_bi_detalleventa` BEFORE INSERT ON `detalleventa` FOR EACH ROW BEGIN DECLARE `precio` DECIMAL(10, 2); SET `precio` := ( SELECT `precio` FROM `producto` WHERE `codigo` = NEW.`codproducto` ), NEW.`total` := `precio` * NEW.`cantidad`; END;
 hidden batch(es)


INSERT INTO `producto` (`codigo`, `precio`) VALUES ('PRO0000000001', '500'); SELECT `codigo`, `precio` FROM `producto`;
codigo precio
PRO0000000001 500.00
 hidden batch(es)


INSERT INTO `detalleventa` (`idventa`, `codproducto`, `cantidad`) VALUES (1, 'PRO0000000001', 3); SELECT `idventa`, `codproducto`, `cantidad`, `total` FROM `detalleventa`;
idventa codproducto cantidad total
1 PRO0000000001 3
 hidden batch(es)


DROP TRIGGER IF EXISTS `trg_bi_detalleventa`; CREATE TRIGGER `trg_bi_detalleventa` BEFORE INSERT ON `detalleventa` FOR EACH ROW BEGIN DECLARE `_precio` DECIMAL(10, 2); SET `_precio` := ( SELECT `precio` FROM `producto` WHERE `codigo` = NEW.`codproducto` ), NEW.`total` := `_precio` * NEW.`cantidad`; END;
 hidden batch(es)


INSERT INTO `detalleventa` (`idventa`, `codproducto`, `cantidad`) VALUES (2, 'PRO0000000001', 3); SELECT `idventa`, `codproducto`, `cantidad`, `total` FROM `detalleventa`;
idventa codproducto cantidad total
1 PRO0000000001 3
2 PRO0000000001 3 1500.00
 hidden batch(es)