banco de dados

453 palavras 2 páginas
Criando TRIGGERS (GATILHOS) de banco de dados no Oracle

CREATE [ OR REPLACE ] trigger nome_do_gatilho AFTER | BEFORE evento ON nome_da_tabela [ FOR EACH ROW ] [ WHEN ( condição ) ]
DECLARE
Declarações
BEGIN
Comandos
EXCEPTION
Rotinas_de_exceção
END;

CREATE OR REPLACE trigger controla_preco BEFORE insert or update OF est_precovenda ON estoque FOR EACH ROW
BEGIN
if :new.est_precovenda not between 100 and 200 then raise_application_error(-20001,'Nao foi possivel gravar este produto, o valor encontrase abaixo do minimo que é R$ 100,00'); else dbms_output.put_line('Produto gravado com sucesso'); end if;
END controla_preco;

CREATE OR REPLACE trigger controla_preco BEFORE insert or update OF est_precovenda ON estoque FOR EACH ROW when (not new.est_precovenda not between 100 and 200)
BEGIN
raise_application_error(-20001,'Nao foi possivel gravar este produto, o valor encontrase abaixo do minimo que é R$ 100,00 e maximo R$ 200,00');
END controla_preco;
/
CREATE OR REPLACE TRIGGER "BAIXA_ESTOQUE" after insert or update or delete OF ven_quantidade ON Venda
FOR EACH ROW begin if inserting then update estoque set est_quantidade = est_quantidade -:new.ven_quantidade where est_codigo = :new.ven_codprod; elsif deleting then update estoque set est_quantidade = est_quantidade +:old.ven_quantidade where est_codigo = :old.ven_codprod; elsif updating then update estoque set est_quantidade = est_quantidade +:old.ven_quantidade where est_codigo = :old.ven_codprod; update estoque set est_quantidade = est_quantidade -:new.ven_quantidade where est_codigo = :new.ven_codprod; end if; end; update venda set ven_quantidade = 5 where ven_codigo = 3; select * from estoque; select *

Relacionados

  • Banco de dados: dados
    436 palavras | 2 páginas
  • banco de dados
    11859 palavras | 48 páginas
  • Banco de dados
    2201 palavras | 9 páginas
  • Bancos de Dados
    6609 palavras | 27 páginas
  • Banco de dados
    2417 palavras | 10 páginas
  • Banco de dados
    1390 palavras | 6 páginas
  • BANCO DE DADOS
    2097 palavras | 9 páginas
  • O Que Banco De Dados
    1748 palavras | 7 páginas
  • Banco de dados
    940 palavras | 4 páginas
  • banco de dados
    2741 palavras | 11 páginas