Documente Academic
Documente Profesional
Documente Cultură
Prof. M.Anglica
TB_ContaCorrente
NrConta
NUMBER
PRIMARY KEY,
DtAbertura DATE NOT NULL,
SituacaoConta CHAR(3) check ('N','E')
SaldoConta NUMBER (12,2),
EmitirTalo CHAR(1),
LimiteCheqEspecial NUMBER(12,2)
DataEncerramento DATE NOT NULL
TB_Movimento
NrMov
NUMBER PRIMARY KEY,
NrConta
NUMBER NOT NULL,
DtMov
DATE
NOT NULL,
TipoMov CHAR(1) NOT NULL
CHECK ( TpMov IN( 'C', 'D' ) ),
ValorMov NUMBER(12,2) NOT NULL
DsMov
VARCHAR2(20) NOT NULL ;
Prof. M.Anglica
5- Exibir a soma dos valor dos movimentos do tipo C efetuados para a conta de numero
565 no ms de maio de 2015.
6- Listar o nmero da conta, saldo da conta e o tipo e valor de todos os movimentos
associados ela.
7- Listar o nome do cliente , nmero da conta, o saldo e o limite do cheque especial de
cada conta do cliente de cdigo 10;
8- Exibir o id cliente e a quantidade de contas que ele possui.
9- Exibir o id e o nome do cliente que tem mais de 3 contas no banco.
10- Exibir o nome do cliente que tem o maior valor de saldo (calculado pela soma do
saldo de todas as suas contas).
11- Excluir todos os movimentos das contas em que a situao seja 'E' - encerrada.
10- Stored Procedures
a- Escreva uma Stored Procedure que receba como parmetro um nmero de conta
corrente e verifique se ela est "estourada". A conta est estourada quando o saldo for
negativo e maior que o limite do cheque especial. Neste caso, gravar mensagem na tabela
de LOG: 'Limite do cheque especial excedido - avisar cliente' concatenado com o nome
do cliente e telefone do mesmo. Tratar a exceo caso o cdigo da conta no exista.
Tabela de LOG (datalog date, mensagem varchar2(100))
b-Escreva uma Stored Procedure que receba como parmetro um cdigo de cliente e some
o valor total do saldo de todas as suas contas. Se o total for maior que 50.000 reais
atualizar o campo tipoCLI da tabela de cliente movendo Cliente ESPECIAL para este
campo. Caso contrrio, atualizar o campo TipoCli movendo Cliente PADRO.
11- Funo
a- Escreva uma funo que receba como parmetro o Nmero da Conta Corrente.
Testar: se a data de abertura estiver dentro dos ltimos 2 meses (usar a data do sistema) e
LimiteCheqEspecial igual a zero, devolver o texto Cliente Novo verificar cheque
especial. Indique um comando para testar esta funo.
12- Triggers
a- Criar um trigger que ao ser includo um novo cliente, substitua a data inserida
no campo DataCadastro pela data do sistema, e disponha o texto Cliente Novo
no campo TipoCli.
b- Criar um trigger que ao ser atualizado o campo ValorMov da TB_Movimento
gravar em uma Tabela de LOG (script abaixo) as informaes NrConta, Saldo da
Conta, TipoMov, ValorMov antigo, ValorMov novo e o usurio que disparou a
ao.
Create table TABLOG
( Nrlog identity, NrConta number, Saldo Number(12,2) , TipoMov char(1),
ValorAntigo number(12,2) ValorNovo number(12,2), usurio varchar2(15));
obs: Nrlog uma sequence.