Está en la página 1de 2

PROGRAMACION CON SISTEMAS GESTORES DE BASES DE DATOS

ALUMNO: ___________________________________________

Contesta las siguientes preguntas de acuerdo con el código propuesto. Puedes leer la siguiente pagina
para apoyarte
https://www.tutorialesprogramacionya.com/sqlserverya/temarios/descripcion.php?inicio=125&cod=12
9&punto=129

¿Qué hacen las siguientes líneas de Código?

if object_id('pa_multiplicar') is not null


drop proc pa_multiplicar;
if object_id('pa_factorial') is not null
drop proc pa_factorial;

De acuerdo con las siguientes líneas de código responde

¿Cómo se llama el procedimiento?

¿Cuáles son las variables y de que tipo?

¿Por qué producto es tipo int output?

create procedure pa_multiplicar


@numero1 int,
@numero2 int,
@producto int output
as
select @producto=@numero1*@numero2;

De acuerdo con el siguiente codigo

¿Para qué se declara la variable x?

Al ejecutar el procedimiento pa_multiplicar ¿Qué valores se envían y en que variable se recibe el


resultado?

declare @x int
exec pa_multiplicar 3,9, @x output
select @x as '3*9'
exec pa_multiplicar 50,8, @x output
select @x as '50*8';

go
-- Creamos un procedimiento que nos retorne el factorial de
un número,
De acuerdo con el siguiente código que corresponde a un procedimiento que realiza el factorial de un
numero. Y se llama de la siguiente forma.

exec pa_factorial 5;

De acuerdo con el siguiente código

¿Cómo se llama el procedimiento?

Dentro del procedimiento se llama a otro procedimiento ¿cual es?

¿Para que se usa la instrucción set?

¿Qué hace el if si es verdadero y que hace en caso de que sea falso?

¿Qué hace el while?

¿Para que sirve la instrucción rtrim?

¿Para que sirve la instrucción convert?

-- tal procedimiento llamará al procedimiento


"pa_multiplicar":
create procedure pa_factorial
@numero int
as
if @numero>=0 and @numero<=12
begin
declare @resultado int
declare @num int
set @resultado=1
set @num=@numero
while (@num>1)
begin
exec pa_multiplicar @resultado,@num, @resultado output
set @num=@num-1
end
select
rtrim(convert(char,@numero))+'!='+convert(char,@resultado)
end
else select 'Debe ingresar un número entre 0 y 12';

go

También podría gustarte