Professional Documents
Culture Documents
FACULTAD DE INGENERIA
ESCUELA DE SISTEMAS Y COMPUTACIN - VIII SEMESTRE
SISTEMAS DE BASES II
TEMA:
FUNCIONES Y CONSULTAS EN
SQL
DOCENTE:
Ing. MUOZ ROBLES, Williams
Antonio
ALUMNA:
PALMA CRISTOBAL, Tania
FUNCIONES Y CONSULTAS EN
SQL SERVER
CONSULTA Y FUNSION (1)
CONSULTAS
Sistemas de Bases II
Pgina 2
TRIGGER
CREATE TRIGGER [DBO]. [TR_DFACTURA]
ON [DBO]. [DFACTURA]
FOR INSERT, UPDATE
AS
BEGIN
DECLARE @S INT
DECLARE @N INT
SELECT @S=SERFAC, @N=NROFAC
FROM INSERTED
DECLARE @TOT INT
Sistemas de Bases II
Pgina 3
Sistemas de Bases II
Pgina 4
CONSULTA
FUNSION
(3)
CONSULTAS
SELECT FILM.FILM_ID, TITLE, COUNT (FILM_ACTOR.ACTOR_ID) AS
CANT_ACTORES
FROM FILM_ACTOR INNER JOIN FILM ON FILM_ACTOR.FILM_ID =
FILM.FILM_ID
GROUP BY FILM.FILM_ID, TITLE
ORDER BY TITLE
FUNCIN
CREATE FUNCTION [DBO].[ACTOR_PELICULA](@S VARCHAR (5))
RETURNS INT
AS
BEGIN
DECLARE @C INT
SELECT @C=COUNT (ACTOR_ID)
FROM FILM_ACTOR
WHERE FILM_ID=@S
RETURN(ISNULL(@C,0))
END
SELECT FILM_ID, TITLE, DBO.ACTOR_PELICULA (FILM_ID)
FROM FILM
ORDER BY TITLE
Sistemas de Bases II
Pgina 5
CONSULTAS
SELECT CATEGORY.CATEGORY_ID, CATEGORY.NAME, COUNT
(FILM.FILM_ID) AS PELICULAS
FROM FILM INNER JOIN FILM_CATEGORY ON FILM.FILM_ID =
FILM_CATEGORY.FILM_ID INNER JOIN CATEGORY ON
FILM_CATEGORY.CATEGORY_ID=CATEGORY.CATEGORY_ID
GROUP BY CATEGORY. CATEGORY_ID , CATEGORY.NAME
ORDER BY NAME
FUNCIN
CREATE FUNCTION [DBO].[CATEGORIA_PELICULA](@S INT)
RETURNS INT
AS
BEGIN
DECLARE @C INT
SELECT @C=COUNT (FILM_ID)
FROM FILM_CATEGORY
WHERE CATEGORY_ID=@S
RETURN(ISNULL(@C,0))
END
SELECT CATEGORY_ID, NAME, DBO.CATEGORIA_ PELICULA
(CATEGORY_ID) AS PELICULAS
FROM CATEGORY
ORDER BY NAME
Sistemas de Bases II
Pgina 6
CONSULTA
FUNSION
(5)
CONSULTAS
SELECT COUNTRY.COUNTRY_ID, COUNTRY.COUNTRY, COUNT
(CUSTOMER.CUSTOMER_ID) AS CLIENTES
FROM CUSTOMER INNER JOIN T_ADDRESS ON
CUSTOMER.ADDRESS_ID=T_ADDRESS.ADDRESS_ID
INNER JOIN CITY ON T_ADDRESS.CITY_ID=CITY.CITY_ID INNER JOIN
COUNTRY ON CITY.COUNTRY_ID=COUNTRY.COUNTRY_ID
GROUP BY COUNTRY.COUNTRY_ID, COUNTRY.COUNTRY
ORDER BY COUNTRY
FUNCIN
CREATE FUNCTION [DBO].[PAIS_CLIENTE](@S INT)
RETURNS INT
AS
BEGIN
DECLARE @C INT
SELECT @C=COUNT (CUSTOMER.CUSTOMER_ID)
FROM CUSTOMER INNER JOIN T_ADDRESS ON
CUSTOMER.ADDRESS_ID=T_ADDRESS.ADDRESS_ID
INNER JOIN CITY ON T_ADDRESS.CITY_ID=CITY.CITY_ID INNER JOIN
COUNTRY ON CITY.COUNTRY_ID=COUNTRY.COUNTRY_ID
WHERE COUNTRY.COUNTRY_ID=@S
RETURN(ISNULL(@C,0))
END
SELECT COUNTRY_ID, COUNTRY, DBO.PAIS_CLIENTE (COUNTRY_ID) AS
CLIENTES
FROM COUNTRY
ORDER BY COUNTRY
Sistemas de Bases II
Pgina 7
Sistemas de Bases II
Pgina 8