Trabalho de banco de dados ii

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1012 palavras )
  • Download(s) : 0
  • Publicado : 2 de abril de 2013
Ler documento completo
Amostra do texto
FAMEC – FACULDADE METROPOLITANA DE CURITIBA
LUIS AUGUSTO DE ABREU






















VIEWS, FUNÇÕES E STORE PROCEDURES























SÃO JOSÉ DOS PINHAIS
SET/2012
FAMEC – FACULDADE METROPOLITANA DE CURITIBA
LUIS AUGUSTO DE ABREU
























VIEWS, FUNÇÕES E STORE PROCEDURESTrabalho apresentado à disciplina de Banco de Dados II, sob orientação da professor Danhylo Almeida Ramos, para obtenção de nota parcial no sexto período do curso de Bacharelado em Sistemas de Informação.

















SÃO JOSÉ DOS PINHAIS
SET/2012

Views


01) CONSTRUA UMA VIEW QUE TRAGA O NOME DO PRODUTO, A QUANTIDADE VENDIDA E A QUANTIDADE EM ESTOQUE E ADATA DA ULTIMA VENDA.

CREATE VIEW ULTIMA_VENDA AS

SELECT

P.PRO_DESCRICAO, VEN.VEN_QTDE, P.PRO_QTDE,MAX(VEN_DATA) DATA,

FROM VENDA V

INNER JOIN PRODUTO P
ON V.VEND_PRODUTO = P.PRO_CODIGO

GROUP BY
P.PRO_DESCRICAO,VEN.VEN_QTDE,P.PRO_QTDE,

02) CONSTRUA UMA VIEW QUE TRAGA O NOME DO PRODUTO, A QUANTIDADE VENDIDA E A DATA DA PRIMEIRA VENDA.

CREATE VIEW PRIM_VENDA AS

SELECTP.PRO_DESCRICAO,VEN.VEN_QTDE, MIN(VEN_DATA) DATA,

FROM VENDA V

INNER JOIN PRODUTO P
ON V.VEND_PRODUTO = P.PRO_CODIGO

GROUP BY
P.PRO_DESCRICAO, VEN.VEN_QTDE

03) CONSTRUA UMA VIEW QUE TRAGA O NOME DO PRODUTO, A QUANTIDADE VENDIDA E A DATA DA ULTIMA COMPRA E O VALOR TOTAL VENDIDO.

CREATE VIEW VENDA_TOT

SELECT

P.PRO_DESCRICAO, V.VEN_QTDE, VLR.VALOR_TOTAL, MAX(VEN_DATA)DATA_ULT_COMPRA

FROM VEND V

INNER JOIN

(SELECT SUM(VEN_VALOR)VALOR_TOTAL,VEN_PRODUTO FROM VEND

GROUP BY VEN_PRODUTO)VLR
VLR.VEN_PRODUTO=V.VEN_PRODUTO

INNER JOIN PRODUTO P
ON V.VEND_PRODUTO=P.PRO_CODIGO

GROUP BY
P.PRO_DESCRICAO,V.VEN_QTDE, VLR.VALOR_TOTAL
04) CONSTRUA UMA VIEW QUE TRAGA O NOME DO PRODUTO, O MENOR VALOR DE VENDA, O MAIOR VALOR DE VENDA E A MÉDIA DO VALOR DE VENDA.CREATE VIEW MENOR_MAIOR_MEDIA_VENDA AS

SELECT

P.PRO_DESCRICAO, MIN(VEN_VALOR), MAX(VEN_VALOR), AVG(VEN_VALOR)

FROM VENDA V

INNER JOIN PRODUTO P
ON V.VEND_PRODUTO=P.PRO_CODIGO

GROUP BY
P.PRO_DESCRICAO




Funções


01) CONSTRUA UMA FUNÇÃO PARA RETIRAR ACENTUAÇÃO DE UMA EXPRESSÃO

CREATE FUNCTION RETIRAR_ACENT(@EXPRESSAO VARCHAR(8000))
RETURNS VARCHAR(8000)
ASBEGIN
DECLARE @SEM_ACENTO VARCHAR(8000)
SELECT @SEM_ACENTO = REPLACE(@EXPRESSAO,'Á','A')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'À','A')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ã','A')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Â','A')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'É','E')
SELECT @SEM_ACENTO =REPLACE(@SEM_ACENTO,'È','E')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ê','E')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Í','I')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ì','I')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Î','I')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ó','O')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ò','O')
SELECT @SEM_ACENTO =REPLACE(@SEM_ACENTO,'Ô','O')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Õ','O')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ú','U')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ù','U')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Û','U')
SELECT @SEM_ACENTO = REPLACE(@SEM_ACENTO,'Ü','U')
RETURN @SEM_ACENTO
END










02) CONSTRUA UMAFUNÇÃO PARA RETORNAR SOMENTE NÚMEROS

CREATE FUNCTION RETORNA_NUM (@EXPRESSAO VARCHAR (1000)) RETURNS VARCHAR (1000) AS

BEGIN--1

DECLARE
@RESULTADO VARCHAR (1000), @NUMERO VARCHAR(1), @QTD_PALAVRA INTEGER,
@CONT INTEGER

SET @CONT = 0
SET @QTD_PALAVRA = LEN(@EXPRESSAO)
SET @RESULTADO = ''
WHILE @CONT < @QTD_PALAVRA
BEGIN--2
SET @CONT = @CONT + 1
SET @NUMERO =...
tracking img