Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de Sistemas de Informação APLICANDO TRANSAÇÕES EM UMA PROCEDURE Disciplina: Banco de Dados III Rio de Janeiro Junho de 2023 UNIVERSIDADE VEIGA DE ALMEIDA Banco de Dados III Texto apresentado como pré-requisito da disciplina Banco de dados III do Curso de Sistemas de Informação da Universidade Veiga de Almeida. Rio de Janeiro Junho de 2023 ENUNCIADO O desenvolvimento de scripts é fundamental para o desenvolvimento de habilidades necessárias para um administrador de BD e/ou analista de sistemas. Dessa forma, um sistema para cadastro e gerenciamento de clientes será desenvolvido e a primeira funcionalidade a ser desenvolvida é a inserção de senhas. Para tanto, você deverá desenvolver scripts envolvendo as seguintes atividades necessárias para atender à funcionalidade de inserção de senhas: 1- Script de criação de tabelas. 2- Script para inclusão de dois clientes. 3- Procedure AtualizaCliente, que deve receber o CPF como parâmetro e checar se ele existe ou não. Caso exista, deve fazer a atualização da senha, caso contrário deve fazer a inclusão de dados. Dessa forma, desenvolva uma procedure com nome AtualizaCliente, que receba os valores do CPF, nome e senha de um cliente e teste primeiramente por meio de uma cláusula SQL se o CPF informado já existe na tabela. Nesse momento desconsidere outros testes, teste somente o CPF. Havendo o CPF na tabela atualize os campos nome, senha e CPF, caso contrário insira os dados na tabela. Procedimentos para elaboração Para a situação, alguns dados e parâmetros são definidos para sua execução: 1- Para criação da tabela Nome da tabela: Cliente nome e tipos dos campos: ( cpf varchar(11), nome varchar(150), senha binary(255)); 2- Para criação do script de inserção valores: ( “18436486447”, “ João Hard Core”, “B#25Ab”) e ( “19585679906”, “ Maria MVC Top”, “A#25ZW”) 3- Procedure Nome: AtualizaCliente Parâmetros: @cpf para consulta e para inserção @cpf, @nome, @senha pra inserção 4 - Aplicar a sintaxe dos comandos DML à criação de procedure por meio de testes condicionais. RESPOSTA Criação do DataBase e da tabela CREATE DATABASE AVA2 USE AVA2 CREATE TABLE Cliente( Cpf VARCHAR(11) NOT NULL, Nome VARCHAR(150) NOT NULL, Senha BINARY(255) NOT NULL, CONSTRAINT pkCpf PRIMARY KEY(cpf) ); Inserção dos Clientes INSERT INTO Cliente(Cpf, Nome, Senha) VALUES ('18436486447', 'João Hard Core', CONVERT(BINARY, 'B#25Ab')); INSERT INTO Cliente(Cpf, Nome, Senha) VALUES ('19585679906', 'Maria MVC Top', CONVERT(BINARY, 'A#25ZW')); Procedure CREATE PROCEDURE AtualizaCliente @cpf VARCHAR(11), @nome VARCHAR(150), @senha BINARY(255) AS BEGIN IF EXISTS( SELECT * FROM Cliente cli WHERE cli.cpf = @cpf) UPDATE Cliente SET senha = CONVERT(BINARY, @senha) WHERE Cpf = @cpf ELSE INSERT INTO Cliente(Cpf, Nome, Senha) VALUES(@cpf, @nome, CONVERT(BINARY, @senha)) END Código junto CREATE DATABASE AVA2 USE AVA2 CREATE TABLE Cliente( Cpf VARCHAR(11) NOT NULL, Nome VARCHAR(150) NOT NULL, Senha BINARY(255) NOT NULL, CONSTRAINT pkCpf PRIMARY KEY(cpf) ); INSERT INTO Cliente(Cpf, Nome, Senha) VALUES ('18436486447', 'João Hard Core', CONVERT(BINARY, 'B#25Ab')); INSERT INTO Cliente(Cpf, Nome, Senha) VALUES ('19585679906', 'Maria MVC Top', CONVERT(BINARY, 'A#25ZW')); CREATE PROCEDURE AtualizaCliente @cpf VARCHAR(11), @nome VARCHAR(150), @senha BINARY(255) AS BEGIN IF EXISTS( SELECT * FROM Cliente cli WHERE cli.cpf = @cpf) UPDATE Cliente SET senha = CONVERT(BINARY, @senha) WHERE Cpf = @cpf ELSE INSERT INTO Cliente(Cpf, Nome, Senha) VALUES(@cpf, @nome, CONVERT(BINARY, @senha)) END 5
Compartilhar