Esta lista de exercícios resolvidos é um manual para ajudar todo aluno iniciante e não só, a adquirir e aprimorar as habilidades necessárias para se trabalhar com Python, de forma rápida e consistente. Estude e desfrute do conteúdo. 1º Exercício Faça um programa que informe a versão do Python que você está utilizando Solução import sys print ( "Versão do Python" ) print (sys.version) print ( "Informação da versão instalada" ) print (sys.version_info) Atenção : - O módulo sys fornece funções e variáveis usadas para manipular diferentes partes do ambiente de tempo de execução do Python; - Pra quem ainda não está familiarizado com a linguagem, um módulo é um arquivo contendo definições e comandos em Python para serem usados em outros programas. 2º Exercício Faça um programa em linguagem Python que converta metros para centímetros. Solução print ( ' \t ----Conversão de medida---- ' ) metros = int ( in...
O QUE É UM TRIGGER OU GATILHO?
Triggers são procedimentos associados a uma tabela com o objetivo de responder a um evento em particular. Em outras palavras, quando você cria uma trigger para atender um determinado objetivo no banco, ela vai ser automaticamente disparada, caso ocorrer a condição estabelecida (INSERT, UPDATE ou DELETE) na tabela associada.
Lembre-se: ao criar um gatilho (trigger), você deve se auto fazer a seguinte pergunta: Tem alguma coisa que a trigger tem que fazer quando acontecer um insert? update? ou delete?
IMPORTÂNCIA DE IMPLEMENTAR TRIGGERS
Os gatilhos (triggers) podem ser usados para:- Melhorar a segurança sobre a base de dados e ação de usuários, verificando quando uma operação é realizada sobre uma entidade;
- Assegurar as restrições de integridade;
- Fazer a auditoria das informações de uma tabela, registrando as alterações efetuadas e quem as efetuou;
- Sinalizar automaticamente a outros programas que é necessário efetuar uma ação, quando são efetuadas alterações numa tabela.
Imagine a seguinte situação: um mercado, ao atualizar os preços dos produtos, precisa gerar um histórico para que alguém faça o devido acompanhamento.
Esse histórico deve conter: o funcionário que alterou, o preço antigo, o preço novo e a hora em que o preço foi atualizado.
- Tabela produto: id_produto, preco, descricao,quantidade.
- Tabela historico_preco: id_historico ,preco_antes, preco_depois, datahora, usuario, operacao.
CRIANDO AS TABELAS
-- CRIANDO A TABELA PRODUTO
CREATE TABLE produto(
id_produto number(6) primary key,
preco number(7,2) not null,
descricao varchar2(120),
quantidade number(7) not null
);
-- INSERINDO VALORES NA TABELA PRODUTO
insert into produto(id_produto, preco, descricao, quantidade) values (11,3,'ARROZ',5);
-- CRIANDO A TABELA QUE VAI GUARDAR O HISTÓRICO DOS PREÇO
create table historico_preco(
id_historico number(6) primary key,
preco_antes number(7,2)null,
preco_depois number(7,2) null,
datahora date not null,
usuario varchar2(120) not null,
operacao char(1) not null
);
-- CRIANDO UMA SEQUENCE PARA id_historico
create sequence seq_id_historico nocache nocycle;
-- CRIANDO A TRIGGER PARA MONITORAR A COLUNA PRECO
create or replace trigger trg_preco
before update of preco on produto
for each row
begin
insert into historico_preco (id_historico, preco_antes, preco_depois, datahora, usuario, operacao) values (seq_id_historico.NEXTVAL,:old.preco, :new.preco, TO_DATE(SYSDATE), 'user','u');
end;
select*from produto; -- para visualizar os dados inseridos na tabela;
-- fazer a atualização(update) do preço pra vermos o papel do trigger
update produto set preco=9.5 where id_produto=11;
COMMIT;
select*from produto;
-- fazer um select pra visualizar o histórico de mudança no preço
select*from historico_preco;
Comentários
Postar um comentário