Sie sind auf Seite 1von 3

Engenharia da Computao

BD - Aula de Stored Procedure


Profa Claudete Moscardini
Tpicos: Correo dos exerccios de Stored Procedure
1) Faa uma stored procedure, passando 3 nmeros e verifique qual o menor
nmero.
DELIMITER $$
CREATE PROCEDURE sp_menornumero(IN num1 INTEGER, IN num2 INTEGER,
IN num3 INTEGER)
BEGIN
IF ((num1 <= num2) AND (num1 < num3)) then
select num1;
END IF;
IF ((num2 <= num1) AND (num2 < num3)) then
select num2;
END IF;
IF ((num3 <= num1) AND (num3 < num2)) then
select num3;
END $$
2) Faa uma stored procedure, passando 3 nmeros e verifique ser o lado de
um tringulo.
Regra:
Para construir um tringulo necessrio que a medida de qualquer
um dos lados seja menor que a soma das medidas dos outros dois e
maior que o valor absoluto da diferena entre essas medidas.
|b-c|<a<b+c
|a-c|<b<a+c
|a-b|<c<a+b
DELIMITER $$
CREATE PROCEDURE sp_triangulo(IN a INTEGER, IN b INTEGER, IN c
INTEGER)
BEGIN
IF ((abs(b-c) < a < (b+c) ) AND (abs(a-c) < b< (a+c)) AND (abs(a-b) < c < (a+b))) then
select "Medidas de um triangulo";
else
select "No um triangulo";
END IF;
END $$
DELIMITER ;

Engenharia da Computao
3) Faa uma stored procedure para verificar se um tringulo issceles,
escaleno ou equiltero.
DELIMITER $$
CREATE PROCEDURE sp_VerificaTriangulo(IN a INTEGER, IN b INTEGER, IN c
INTEGER)
BEGIN
IF ((abs(b-c) < a < (b+c) ) AND (abs(a-c) < b< (a+c)) AND (abs(a-b) < c <
(a+b))) then
IF (a =b and a = c) then
select "Triangulo Equilatero";
else
If ( a!= b and a != c and b != c) THEN
select "Triangulo Isosceles";
else
select "Triangulo Escaleno";
END IF;
END IF;
else
select "No um triangulo";
END IF;
END $$
DELIMITER ;
4) Faa uma stored procedure para calcular a mdia entre dois nmeros.
DELIMITER $$
CREATE PROCEDURE sp_Media(IN num1 INTEGER, IN num2 INTEGER)
BEGIN
DECLARE media decimal(4,2);
set media = (num1 + num2)/2;
select media;
END $$
DELIMITER ;
5) Faa uma stored Procedure para verificar se o lado de uma figura
geomtrica quadrado ou retngulo. Calcule a sua rea.
DELIMITER $$
CREATE PROCEDURE sp_RetanguloQuadrado(IN lado1 INTEGER, IN lado2
INTEGER)
BEGIN

Engenharia da Computao
IF (lado1 = lado2) THEN
select " um quadrado", lado1*lado2;
else
select " um retangulo", lado1*lado2;
END IF;
END $$
DELIMITER ;
6) Faa uma stored procedure, passando como parmetro dois nmeros. E
calcule o exponencial do primeiro pelo segundo.
DELIMITER $$
CREATE PROCEDURE sp_Exponencial(IN num1 INTEGER, IN exp INTEGER)
BEGIN
DECLARE res INT;
SET res = 1;
WHILE (exp >= 1 ) DO
SET res = res*num1;
SET exp = exp -1;
END WHILE;
SELECT res;
END $$
DELIMITER ;

Das könnte Ihnen auch gefallen