joaopaulofcc

[GABARITO] transacao_exemplo1

Jun 16th, 2021
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.37 KB | None | 0 0
  1. # Antes de testarmos transações no MySQL,
  2. # vamos desativar o commit automático:
  3. SET @@autocommit = OFF;
  4.  
  5. # Conferimos o valor do autocommit atual:
  6. SELECT @@autocommit;
  7.  
  8. # Vamos criar uma base de dados de teste
  9. CREATE DATABASE teste_transacao;
  10.  
  11. USE teste_transacao;
  12.  
  13. # Agora, vamos criar um tabela de testes para
  14. # realizarmos transações envolvendo commits e rollbacks:
  15.  
  16. # Criar tabela para testes
  17. CREATE TABLE dadosLivro
  18. (
  19.     isbn VARCHAR(13) NOT NULL PRIMARY KEY,
  20.     nome VARCHAR(80) NOT NULL,
  21.     preco DECIMAL(10, 2) NOT NULL
  22. );
  23.  
  24. START TRANSACTION; # inicia a transação
  25.    
  26.     # Insere registro no banco
  27.     INSERT INTO
  28.         dadosLivro (isbn, nome, preco)
  29.     VALUES
  30.         ("9876532145632", "Ciência de Dados com Python", 69.88);
  31.  
  32.     # Retorna tabela com o dado acima inserido
  33.     SELECT * FROM dadosLivro;
  34.  
  35. ROLLBACK; # desfaz a transação
  36.  
  37. # Como a transação anterior foi desfeita, retorna a tabela vazia
  38. SELECT * FROM dadosLivro;
  39.  
  40.  
  41.  
  42. START TRANSACTION; # inicia a transação
  43.    
  44.     # Insere registro no banco
  45.     INSERT INTO
  46.         dadosLivro (isbn, nome, preco)
  47.     VALUES
  48.         ("9876532145632", "Ciência de Dados com Python", 69.88);
  49.  
  50.     # Retorna tabela com o dado acima inserido
  51.     SELECT * FROM dadosLivro;
  52.  
  53. COMMIT; # confirma a transação
  54.  
  55. # Como a transação foi confirmada, o dado inserido foi persistido no banco
  56. SELECT * FROM Dados_Livro;
Add Comment
Please, Sign In to add comment