Advertisement
fahadkalil

plpgsql_cursores_imasters

Mar 18th, 2021 (edited)
1,570
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Adaptado de: https://imasters.com.br/banco-de-dados/utilizando-cursores-no-postgresql
  2.  
  3. CREATE SCHEMA aula03;
  4.  
  5. CREATE TABLE aula03.usuario (
  6.     usuario_id SERIAL   NOT NULL,
  7.     nome VARCHAR(100)   NOT NULL,
  8.     data_nasc DATE   NOT NULL,
  9.     CONSTRAINT PK_usuario PRIMARY KEY (usuario_id)
  10. );
  11.  
  12. COMMENT ON COLUMN aula03.usuario.usuario_id IS 'ID auto incremento';
  13. COMMENT ON COLUMN aula03.usuario.nome IS 'Nome completo';
  14. COMMENT ON COLUMN aula03.usuario.data_nasc IS 'Data de Nascimento';
  15.  
  16. CREATE TABLE aula03.telefone (
  17.     usuario_id INTEGER   NOT NULL,
  18.     fone_id INTEGER   NOT NULL,
  19.     ddd VARCHAR(2)   NOT NULL,
  20.     numero VARCHAR(10)   NOT NULL,
  21.     CONSTRAINT PK_telefone PRIMARY KEY (usuario_id, fone_id)
  22. );
  23.  
  24. COMMENT ON COLUMN aula03.telefone.usuario_id IS 'ID do Usuario';
  25. COMMENT ON COLUMN aula03.telefone.fone_id IS 'ID do Telefone';
  26. COMMENT ON COLUMN aula03.telefone.ddd IS 'DDD do Telefone';
  27. COMMENT ON COLUMN aula03.telefone.numero IS 'Numero do Telefone';
  28.  
  29. ALTER TABLE aula03.telefone ADD CONSTRAINT usuario_telefone
  30.     FOREIGN KEY (usuario_id) REFERENCES aula03.usuario (usuario_id);
  31.  
  32. -- Popular as tabelas
  33. INSERT INTO aula03.usuario(nome, data_nasc) VALUES ('Júlio César Martini', '1980-10-07');
  34. INSERT INTO aula03.usuario(nome,data_nasc) VALUES ('Alexandre Hernandes Martini', '1983-07-30');
  35.  
  36. INSERT INTO aula03.telefone(usuario_id, fone_id, ddd, numero) VALUES (1, 1,'19', '35410000');
  37. INSERT INTO aula03.telefone(usuario_id, fone_id, ddd, numero) VALUES (1, 2,'19', '81940000');
  38. INSERT INTO aula03.telefone(usuario_id, fone_id, ddd, numero) VALUES (2, 1,'16', '37411234');
  39. INSERT INTO aula03.telefone(usuario_id, fone_id, ddd, numero) VALUES (2, 2,'16', '96181256');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement