› Fóruns › SQL e PL/SQL › Duvidas PL-SQL › Duvidas PL-SQL
Obrigado pela sua ajuda Ishii ,
A variavel criei em Declare a seguir a Exception :
saldoactual NUMBER;
pode ser assim ou seria algo saldoactual%ROWTYPE ?!
Já agora deixo aqui as tentativas de resolução do exercicio 2 e 3 .
Exercicio 2 :
Criar um procedimento que aceite o código, mês e ano para as facturas de todos os apartamentos do respectivo condomínio no mês e ano em apreço. Data limite de pagamento ficaram será o ultimo dia do mês , data de pagamento ficara nula ate ao acto da entrega.
CREATE OR REPLACE PROCEDURE EX2
(Codigo IN NUMBER, Mes IN NUMBER, ANO IN NUMBER)
IS
CURSOR C_ApartamentosComCondominio (COD NUMBER) IS
SELECT COD_Espaco,Cod_proprietario,valor_mensalidade from Apartamentos
where cod_condomino=COD;
BEGIN
OPEN C_ApartamentosComCondominio(Codigo);
FETCH C_ApartamentosComCondominio INTO CondominoApartamento;
WHILE C_ApartamentosComCondominio%FOUND THEN
INSERT INTO FACTURA
VALUES
(CondominoApartamento.Cod_ESpaco, Mes, Ano, CondominoApartamento.Cod_proprietario, CondominoApartamento. valor_mensalidade, LAST_DAY(TO_DATE(ANO & '/' & MES &'/01','YYYY/MM/DD')),NULL);
FETCH C_ApartamentosComCondominio INTO CondominoApartamento;
END LOOP;
CLOSE C_ApartamentosComCondominio;
END;
/
Exercicio 3 :
Criar função “CALCULAR_DIVIDA” que aceite o código do proprietário e devolva o valor em divida do mesmo.
Assumi que o significado do pagamento não existir é o campo data_pagamento ser null …..
CREATE OR REPLACE FUNCTION CALCULAR_DIVIDA (COD in Number)
RETURN NUMBER
IS
BEGIN
SELECT SUM(VALOR) into Valor
FROM FACTURA
WHERE COD_PRORIATARIO=COD and data_pagamento is null
RETURN (Valor);
END CALCULAR_DIVIDA;
/
[/code]