Pl sql function
1. Crie uma FUNCTION que recebe uma data e apresente no forma "DD de MES do ANO".
create or replace
FUNCTION CONVERTEDATA (DATAENTRADA IN DATE) RETURN VARCHAR2 IS
BEGIN
RETURN to_char(DATAENTRADA,'DD "de" MONTH "de" yyyy');
END;
2. Crie uma FUNCTION que recebe um texto e converte tudo para letras maiusculas.
create or replace
FUNCTION CONVERTERMAIUSCULA (DATAENTRADA IN VARCHAR2) RETURN VARCHAR2 IS
BEGIN
RETURN UPPER(DATAENTRADA);
END;
3. Crie uma FUNCTION que receba um número e retorne seu valor fatorial.
create or replace
FUNCTION fatoracao (numero IN number) RETURN number IS ii number :=1; i number;
BEGIN
for i in 1..numero loop ii := ii * i; end loop;
return ii;
END;
4. Crie uma FUNCTION que apague um Produto e retorne o texto "SUCESSO"
create or replace
FUNCTION apagaproduto (produtodel in varchar2) RETURN VARCHAR2 IS
begin
delete from produto where nome = produtodel; return 'sucesso';
end;
5. Crie uma FUNCTION que receba o %, o código do produto e aplique a alteração no campo "preco_sugerido" na tabela de produtos conforme indicado.
create or replace
FUNCTION ajustepreco(porcentagem in number, codigo in number) return varchar2 as begin
update produto set preco_sugerido = preco_sugerido * (1 + (preco_sugerido/100)) where codigo = codigo ; return 'Preço alterado'; end; 6. Crie uma FUNCTION que recebe o CPF e retorne a informação “Valido” ou “Invalido”. Pesquise na web para obter as regras de validação do digito verificador.
create or replace
FUNCTION validacpf (p_cpf IN CHAR)
RETURN varchar2
IS
m_total NUMBER := 0; m_digito NUMBER := 0;
BEGIN
FOR i IN 1 .. 9
LOOP
m_total := m_total + SUBSTR (p_cpf, i, 1) * (11 - i);
END LOOP;
m_digito := 11 - MOD (m_total, 11);
IF m_digito > 9
THEN
m_digito := 0;
END IF;
IF m_digito != SUBSTR (p_cpf, 10, 1)
THEN
RETURN 'FALSO';
END IF;
m_digito := 0; m_total := 0;
FOR i IN 1