Skip to content

Instantly share code, notes, and snippets.

@jonathasborges1
Created October 3, 2022 01:48
Show Gist options
  • Select an option

  • Save jonathasborges1/2841efe4b5e30664616fed33f7d3f93e to your computer and use it in GitHub Desktop.

Select an option

Save jonathasborges1/2841efe4b5e30664616fed33f7d3f93e to your computer and use it in GitHub Desktop.
Aula 1 - Banco de Dados Pos Graduacao - create tables and Triggers
create table empregado (
id_emp int generated always as identity,
nome_emp varchar (40) not null,
sobrenome_emp varchar (40) not null,
primary key (id_emp)
);
create table emp_audit (
id_emp_audit int generated always as identity,
id_emp int not null,
sobrenome_emp varchar (40) not null,
troca_sobrenome timestamp (6) not null
);
Create or replace function log_sobrenome()
returns trigger
language PLPGSQL
As
$$
Begin
if new.sobrenome_emp<>old.sobrenome_emp
then
insert into emp_audit (id_emp, sobrenome_emp, troca_sobrenome)
values (old.id_emp, old.sobrenome_emp, now());
end if;
return new;
end;
$$
create trigger troca_sobrenome
before update on empregado
for each row
execute procedure log_sobrenome();
insert into empregado (nome_emp, sobrenome_emp) values ('jonathas','borges');
insert into empregado (nome_emp, sobrenome_emp) values ('ana','silva');
select * from empregado
update empregado set sobrenome_emp = 'carvalho' where id_emp=2;
select * from empregado
select * from emp_audit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment