You are on page 1of 3

FUNCIONES

CREATE FUNCTION <Nom_Function> (Argumentos Tipo_Dato)

RETURNS Valores_Escalares_o_Filas

AS

PROCESO

Factorial de un número.

CREATE FUNCTION FACTORIAL (@numero int)

RETURNS int

AS

BEGIN

DECLARE @valor int, @resultado int, @contador int

SET @contador = 1

SET @resultado = 0

SET @valor= @numero

WHILE (@contador <= valor)

BEGIN

SET @resultado = @resultado + @contador

SET @contador = @contador + 1

END

RETURN @resultado

END

=============================================================================

SELECT FACTORIAL(5)

=============================================================================

CREATE PROCEDURE <Nom_Procedure>

Argumento1 Tipo_Dato[=valor_por_defecto][[input]/output]]

Argumento2 Tipo_Dato[=valor_por_defecto][[input]/output]]

]
[WITH ENCRYPTION]

AS

BEGIN TRANSACTION

SENTENCIA_SQL

COMMIT TRANSACTION

=============================================================================

CREAR UN PROCEDIMIENTO ALMACENADO QUE DEVUELVA TODOS LOS VOTOS

CREATE PROCEDURE Listar_Votos

AS

BEGIN TRANSACTION

SELECT Nom_Partido, Nom_Candidato, Nom_Region,

Nom_Ciudad, Nro_Votos

FROM T_Votos V INNER JOIN T_Partido P ON

V.Cod_Partido=P.Cod_Partido INNER JOIN T.Ciudad C ON

V.Cod_Ciudad=C.Cod_Ciudad INNER JOIN T_Region R ON

C.Cod_Region=R.Cod_Region

COMMIT TRANSACTION

=============================================================================

EXECUTE Listar_Votos

=============================================================================

CREAR UN PROCEDIMIENTO ALMACENADO QUE ME PERMITA INSERTAR UN REGISTRO EN LA


TABLA VOTOS.

CREATE PROCEDURE Insertar_Votos

@Partido char(3),

@Ciudad char(3),

@Votos int

AS

BEGIN TRANSACTION

INSERT INTO T_Votos VALUES (@Partido, @Ciudad, @Votos)

COMMIT TRANSACTION

=============================================================================
EXEC Insertar_Votos

=============================================================================

CREAR UN PROCEDIMIENTO ALMACENADO QUE ME DEVUELVA LA CANTIDAD DE VOTOS DE


UN DETERMINADO PARTIDO

CREATE PROCEDURE Votos_Partido

@Partido varchar(25),

@Votos int output

AS

BEGIN TRANSACTION

SET @Votos = (SELECT Sum(Nro_Votos)

FROM T_Votos v INNER JOIN T_Partido p ON

v.Cod_Partido=p.Cod_Partido

WHERE Nom_Partido=@Partido

GROUP by p.Nom_Partido)

COMMIT TRANSACTION

=============================================================================

DECLARE @Votos int

EXEC Votos_Partido ‘PPC’, @Votos output

print convert(varchar,@Votos)

You might also like