Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DELIMITER //
- CREATE TRIGGER `onUpdateQuotationPrice` BEFORE UPDATE ON `cotacao`
- FOR EACH ROW BEGIN
- -- Quando fazer alteração no preço, faz novamente às contas
- -- de impostos sob esse novo preço
- DECLARE `impostoFornecedor` DECIMAL( 10 , 2 ) ;
- DECLARE `impostoCategoria` DECIMAL( 10 , 2 ) ;
- DECLARE `precoOriginal` DECIMAL( 10 , 2 ) ;
- IF NOT IsIsento( NEW.`pid` ) THEN
- SELECT ((`fornecedores`.`imposto` / 100.0) * NEW.`preco`),
- ((`ic`.`imposto` / 100.0) * NEW.`preco`), NEW.`preco`
- INTO `impostoFornecedor`, `impostoCategoria`, `precoOriginal`
- FROM `cotacao` INNER JOIN `produtos` ON `produtos`.`pid` = `cotacao`.`pid`
- INNER JOIN `fornecedores` ON `cotacao`.`fid` = `fornecedores`.`fid`
- INNER JOIN `impostocategoria` AS `ic` ON `produtos`.`categoria` = `ic`.`cid`
- AND `ic`.`fid` = `cotacao`.`fid` WHERE `cotacao`.`pid` = NEW.`pid` AND `cotacao`.`fid` = NEW.`fid`
- AND NOT IsIsento( NEW.`pid` ) ;
- SET NEW.`precoComImposto` = ( `precoOriginal` + `impostoFornecedor` + `impostoCategoria` ) ;
- ELSE
- SELECT ((`fornecedores`.`imposto` / 100.0) * NEW.`preco`),
- NEW.`preco` INTO `impostoCategoria`, `precoOriginal`
- FROM `cotacao` INNER JOIN `produtos` ON `produtos`.`pid` = `cotacao`.`pid`
- INNER JOIN `fornecedores` ON `cotacao`.`fid` = `fornecedores`.`fid`
- WHERE `cotacao`.`pid` = NEW.`pid` AND `cotacao`.`fid` = NEW.`fid`
- SET NEW.`precoComImposto` = ( `precoOriginal` + `impostoFornecedor` ) ;
- END IF ;
- END//
- DELIMITER ;
Add Comment
Please, Sign In to add comment