Ir ao conteúdo
  • Cadastre-se
EduardoMQS

MySQL Como se corrige esse erro de gatilhos no MySQL?

Recommended Posts

Olha minhas tabelas:

 

CREATE TABLE produto(
  cod int(11) NOT NULL AUTO_INCREMENT,
  nome_prod varchar(90) DEFAULT NULL,
  valor float DEFAULT NULL,
  data_venda date DEFAULT NULL,
  data_pagamento date DEFAULT NULL,
  quantidade int(11) DEFAULT NULL,
  PRIMARY KEY (cod)
);

CREATE TABLE fornecedor(
  cod int(11) NOT NULL AUTO_INCREMENT,
  nome_fornecedor varchar(30) DEFAULT NULL,
  cnpj varchar(20) DEFAULT NULL,
  razao_social varchar(90) DEFAULT NULL,
  nome_banco varchar(90) DEFAULT NULL,
  num_agenc_bancaria varchar(15) DEFAULT NULL,
  num_conta_bancaria varchar(15) DEFAULT NULL,
  uf varchar(2) DEFAULT NULL,
  cidade varchar(50) DEFAULT NULL,
  endereco varchar(100) DEFAULT NULL,
  telefone varchar(20) DEFAULT NULL,
  inscricao_estadual varchar(15) DEFAULT NULL,
  PRIMARY KEY (cod)
);

CREATE TABLE fornecimento(
  id_fornecimento int(11) NOT NULL AUTO_INCREMENT,
  data_fornecimento date DEFAULT NULL,
  cod_produto int(11) DEFAULT NULL,
  cod_fornecedor int(11) DEFAULT NULL,
  PRIMARY KEY (id_fornecimento),
  CONSTRAINT fk_cod_fornecedor FOREIGN KEY (cod_fornecedor) REFERENCES fornecedor(cod),
  CONSTRAINT fk_cod_produto FOREIGN KEY (cod_produto) REFERENCES produto(cod)
);

 

O exercício de gatilhos que eu tenho, olha como é:

 

Citação

Crie um gatilho que, a cada novo fornecimento realizado, adicione a quantidade fornecida na tabela de produto, conforme o código do produto fornecido.

 

Olha o código do meu gatilho:

 

DELIMITER $$
CREATE TRIGGER quantidade_fornecimento
AFTER INSERT ON fornecimento
FOR EACH ROW
BEGIN
    UPDATE produto SET quantidade = quantidade + NEW.quantidade WHERE cod_produto = NEW.cod_produto;
END $$

 

Olha as 3 primeiras linhas do meu script SQL:

 

DROP DATABASE IF EXISTS trab_a3;
CREATE DATABASE IF NOT EXISTS trab_a3;
USE trab_a3;

 

Olha que erro o MySQL Workbench dá quando eu dou control-enter no final do delimitador do gatilho:

 

image.thumb.png.78580d7c5a45fa09deea92e0e7c68ace.png

 

Olha que erro o MySQL Workbench dá quando eu executo todo o script SQL, mesmo com o código do meu gatilho no final do script:

 

image.thumb.png.3bef627b3c804dc585c99beeac06ffba.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×