TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Procedure, Trigger, Function

Trabalho Escolar: Procedure, Trigger, Function. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  24/4/2014  •  254 Palavras (2 Páginas)  •  380 Visualizações

Página 1 de 2

CREATE DEFINER = 'root'@'localhost' TRIGGER `venda_after_ins_tr` AFTER INSERT ON `venda`

FOR EACH ROW

BEGIN

DECLARE qt_prod INT;

SELECT qtde FROM produto WHERE cd = new.produto INTO qt_prod;

SET qt_prod = qt_prod - new.qtde;

UPDATE produto SET qtde = qt_prod WHERE cd = new.produto;

END;

CREATE DEFINER = 'root'@'localhost' PROCEDURE `AtivaEstorno`(

IN cd_venda INTEGER(11)

)

NOT DETERMINISTIC

BEGIN

DECLARE qt_prod INT;

DECLARE cd_prod INT;

DECLARE qtde_p INT;

SELECT qtde, produto FROM venda WHERE cd=cd_venda INTO qtde_p, cd_prod;

SELECT qtde FROM produto WHERE cd=cd_prod INTO qt_prod;

UPDATE produto SET qtde = qtde_p+qt_prod WHERE cd=cd_prod;

UPDATE venda SET estornado='S' WHERE cd=cd_venda;

END;

CREATE DEFINER = 'root'@'localhost' FUNCTION `VendaTotalCliente`(

cd_cliente INTEGER(11)

)

RETURNS int(11)

DETERMINISTIC

BEGIN

DECLARE Tot FLOAT;

SELECT SUM(Total) INTO Tot

FROM venda

WHERE cliente=cd_cliente AND estornado='n';

RETURN Tot;

END;

CREATE DATABASE `bancodedados`

CHARACTER SET 'latin1'

COLLATE 'latin1_swedish_ci';

USE `bancodedados`;

CREATE TABLE `cliente` (

`cd` int(11) NOT NULL,

`nm` varchar(20) DEFAULT NULL,

PRIMARY KEY (`cd`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `produto` (

`cd` int(11) NOT NULL,

`nm` varchar(20) DEFAULT NULL,

`qtde` int(11) DEFAULT NULL,

PRIMARY KEY (`cd`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE `venda` (

`cd` int(11) NOT NULL,

...

Baixar como (para membros premium)  txt (1.7 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com