Questão
ID 2469382Disciplina: Tecnologia da Informação
Assunto: Select
Ano: 2010 Banca: CEFETBAHIA - Fundação de Apoio à Educação e Desenvolvimento Tecnológico da Bahia Órgão: Empresa Baiana de Alimentos S.A.
Leia o Script Sql a seguir para responder às questões de 31 a 33.
DROP TABLE ALUGUEL
DROP TABLE USUARIO
DROP TABLE FILME
DROP TABLE CATEGORIA
CREATE TABLE Categoria
( Codigo CHAR(2) NOT NULL,
Nome CHAR(30) NOT NULL,
QtdeDias INT NOT NULL, CONSTRAINT PK_CAT_COD PRIMARY KEY (Codigo))
CREATE TABLE Usuario
( Matricula CHAR(5) NOT NULL,
Nome CHAR(30) NOT NULL,
Categoria CHAR(2) NOT NULL,
Status CHAR(2) NOT NULL,
CONSTRAINT PK_USU_MATR PRIMARY KEY (Matricula),
CONSTRAINT FK_USU_CATE FOREIGN KEY (Categoria) REFERENCES Categoria(Codigo))
CREATE TABLE Filme
( Codigo CHAR(3) NOT NULL,
Nome CHAR(30) NOT NULL,
CONSTRAINT PK_FILM_COD PRIMARY KEY (Codigo))
CREATE TABLE Aluguel
( Codigo INT NOT NULL,
Usuario CHAR(5) NOT NULL,
Filme CHAR(3) NOT NULL,
DataEmpres SMALLDATETIME NOT NULL,
DataDevol SMALLDATETIME NULL,
CONSTRAINT PK_ALG_COD PRIMARY KEY (Codigo),
CONSTRAINT FK_ALG_USU FOREIGN KEY (Usuario) REFERENCES Usuario(Matricula),
CONSTRAINT FK_ALG_FIL FOREIGN KEY (Filme) REFERENCES Filme(Codigo))
GO
CREATE PROCEDURE Calcula
@Matricula Char(5),
@Valor Decimal(12,2),
@Calculado Decimal(12,2) output As
Begin
SELECT @Calculado =
SUM(CAST(Aluguel.DataDevol - (Aluguel.DataEmpres + Categoria.QtdeDias)AS INT) * @Valor)
FROM Usuario
INNER JOIN Categoria ON (Categoria.Codigo = Usuario.Categoria)
INNER JOIN Aluguel ON (Aluguel.Usuario = Usuario.Matricula) Where
(Usuario.Matricula = @Matricula) And
(Aluguel.DataDevol Is Not Null
And Aluguel.DataDevol > (Aluguel.DataEmpres +Categoria.QtdeDias))
End
GO
INSERT INTO Categoria VALUES ('11','VIP',7)
INSERT INTO Categoria VALUES ('22','Basico',2)
INSERT INTO Categoria VALUES ('33','Especial',4)
INSERT INTO Usuario VALUES ('11111','Maria','11','00')
INSERT INTO Usuario VALUES ('22222','Katia','22','00')
INSERT INTO Usuario VALUES ('33333','Carla','11','00')
INSERT INTO Usuario VALUES ('44444','Gildo','33','00')
INSERT INTO Usuario VALUES ('55555','Helga','33','00')
INSERT INTO Usuario VALUES ('66666','Mario','11','00')
INSERT INTO Usuario VALUES ('77777','Vania','33','00')
INSERT INTO Usuario VALUES ('88888','Tomas','33','00')
INSERT INTO Usuario VALUES ('99999','Vilma','22','00')
INSERT INTO Filme VALUES ('111','Matrix')
INSERT INTO Filme VALUES ('222','E o vento Levou')
INSERT INTO Filme VALUES ('333','Platoon')
INSERT INTO Filme VALUES ('444','Formiguinha Z')
INSERT INTO Filme VALUES ('555','Os Incriveis')
INSERT INTO Filme VALUES ('666','Atração Fatal')
INSERT INTO Filme VALUES ('777','Planeta Vermelho')
INSERT INTO Aluguel VALUES (1,'11111','111','2009-10-10','2009-10-12')
INSERT INTO Aluguel VALUES (2,'33333','666','2009-11-22','2009-11-27')
INSERT INTO Aluguel VALUES (3,'88888','555','2009-12-02','2009-12-08')
INSERT INTO Aluguel VALUES (4,'99999','777','2009-12-05', NULL) INSERT INTO Aluguel VALUES (5,'11111','666','2009-12-05','2009-12-12')
INSERT INTO Aluguel VALUES (6,'11111','555','2009-12-10', NULL) INSERT INTO Aluguel VALUES (7,'22222','222','2009-12-11','2009-12-28')
INSERT INTO Aluguel VALUES (8,'55555','333','2009-12-11','2009-12-25')
INSERT INTO Aluguel VALUES (9,'33333','666','2009-12-15','2009-12-29')
Vilma 2009-12-05 00:00:00 Maria 2009-12-10 00:00:00 |
O comando em SQL que produz a saída em destaque com os dados do banco é