Escolar Documentos
Profissional Documentos
Cultura Documentos
GO
GO
-----------Funes Escalares---------------------------------
/*5. Faa uma funo para calcular a quantidade de pedidos
registrados por um funcionrio, recebendo como entrada o
cdigo do funcionrio e retornando a quantidade de
pedidos registrados.*/
CREATE FUNCTION Contar_pedidos_funcionario (@fun_codigo INT)
returns INT
AS
BEGIN
RETURN
(SELECT Count(pedidos.ped_numero)
FROM pedidos
WHERE pedidos.fun_codigo = @fun_codigo)
END
go
go
go
go
go
IF ( @@ROWCOUNT = 1 )
RETURN 0
RETURN 1
END try
BEGIN catch
RETURN 1
END catch
END
go
UPDATE pessoas
SET pes_nome = @novoNome
WHERE ( pes_codigo = @codCli )
UPDATE clientes
SET cli_credito = @novoCredito,
cli_renda = @novaRenda
WHERE ( pes_codigo = @codCli )
COMMIT TRAN
RETURN 0
END try
BEGIN catch
ROLLBACK TRAN
RETURN 1
END catch
END
go
COMMIT TRAN
RETURN 0
END try
BEGIN catch
ROLLBACK TRAN
RETURN 1
END catch
END
go
IF ( (SELECT Count(pes_codigo)
FROM pessoas
WHERE pessoas.pes_cpf = @pes_cpf) = 0 )
BEGIN
INSERT INTO pessoas
VALUES (@pes_nome,
@pes_cpf,
1)
END
IF ( (SELECT Count(pes_codigo)
FROM clientes
WHERE clientes.pes_codigo = @pes_codigo) = 0 )
BEGIN
INSERT INTO clientes
VALUES (@pes_codigo,
@cli_renda,
@cli_credito)
END
END
go
go
-- Tabela Itens_Pedidos--------------------
CREATE TABLE copy_itens
(
ped_numero INT NOT NULL,
prd_codigo INT NOT NULL,
itp_qtd INT NOT NULL,
itp_valor DECIMAL(7, 2) NOT NULL,
PRIMARY KEY (ped_numero, prd_codigo),
FOREIGN KEY (ped_numero) REFERENCES pedidos (ped_numero),
FOREIGN KEY (prd_codigo) REFERENCES produtos (prd_codigo)
)
go
DELETE itens_pedidos
WHERE ped_numero = @ped_numero
DELETE pedidos
WHERE ped_numero = @ped_numero
COMMIT TRAN
RETURN 0
END TRY
BEGIN CATCH
ROLLBACK TRAN
RETURN Error_number()
END catch
END