Traballho banco

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (357 palavras )
  • Download(s) : 0
  • Publicado : 18 de novembro de 2012
Ler documento completo
Amostra do texto
1) Crie uma função no banco de dados que simule uma calculadora com as operações básicas. A função deve receber como parâmetro o operador desejado (+, -, *, /) e os 2 números que serão utilizadospara realizar o cálculo desejado. A função deve retornar o resultado do cálculo.

CREATE OR REPLACE FUNCTION calculadora (
n1 integer,
n2 integer,
op varchar
)
RETURNS FLOAT AS $$

DECLAREresult float;

BEGIN

     IF op = '+' THEN
result = n1+n2;
ELSIF op = '-' THEN
result = n1-n2;
ELSIF op = '*' THEN
result = n1*n2;
ELSIF op = '/' THEN
result = n1/n2;

   END IF;
  return result;
   
end; $$ LANGUAGE plpgsql;


2) Escreva uma função que receba a idade da pessoa em dias, faça a conversão para anos e retorne um booleano indicando se a pessoa é maior de idade ounão.

CREATE OR REPLACE FUNCTION
idade(integer)returns boolean AS
$$
DECLARE
anos INTEGER;
BEGIN
anos = $1/365;
IF anos < 18 THEN
RAISE NOTICE 'menor deidade';
return false;
ELSE
RAISE NOTICE 'maior de idade';
return true;
END IF;

END;

$$ LANGUAGE plpgsql;


3) Faça umafunção que receba um número e retorne um varchar informando se o número é maior, menor ou igual a zero.

CREATE OR REPLACE FUNCTION maiorMenorIgual (float) RETURNS float AS $$
 
DECLARE
           numero float;
BEGIN          
            numero = $1;
               IF numero > 0 THEN
                        RAISE NOTICE 'O NUMERO É MAIOR QUE ZERO';
            ELSIF numero < 0 THEN                        RAISE NOTICE 'O NUMERO É MENOR QUE ZERO';
            ELSIF numero = 0 THEN
                        RAISE NOTICE 'O NUMERO É IGUAL A ZERO';                  
            ENDIF;
END;
 
$$ LANGUAGE plpgsql;

4) Escreva uma função que receba 2 números e execute as operações listadas a seguir, de acordo com a escolha do usuário:

Escolha do Usuário |
|...
tracking img