Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- SCHEMA: gerador
- -- DROP SCHEMA IF EXISTS gerador ;
- CREATE SCHEMA IF NOT EXISTS gerador
- AUTHORIZATION postgres;
- --//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--
- ----//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
- --//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--
- -- Table: gerador.pessoa
- -- DROP TABLE IF EXISTS gerador.pessoa;
- CREATE TABLE IF NOT EXISTS gerador.pessoa
- (
- id bigserial NOT NULL,
- content json,
- datahora timestamp without time zone DEFAULT CURRENT_TIMESTAMP(0),
- CONSTRAINT pessoa_pkey PRIMARY KEY (id)
- )
- TABLESPACE pg_default;
- ALTER TABLE IF EXISTS gerador.pessoa
- OWNER to postgres;
- --//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--
- ----//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
- --//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--
- -- Table: gerador.pessoas
- -- DROP TABLE IF EXISTS gerador.pessoas;
- CREATE TABLE IF NOT EXISTS gerador.pessoas
- (
- id BIGSERIAL NOT NULL,
- nome character varying(150) COLLATE pg_catalog."default",
- idade integer,
- cpf character varying(11) COLLATE pg_catalog."default",
- rg character varying(15) COLLATE pg_catalog."default",
- data_nasc date,
- sexo character varying(1) COLLATE pg_catalog."default",
- signo character varying(15) COLLATE pg_catalog."default",
- mae character varying(150) COLLATE pg_catalog."default",
- pai character varying(150) COLLATE pg_catalog."default",
- email character varying(150) COLLATE pg_catalog."default",
- senha character varying(30) COLLATE pg_catalog."default",
- cep character varying(8) COLLATE pg_catalog."default",
- endereco character varying(200) COLLATE pg_catalog."default",
- numero integer,
- bairro character varying(120) COLLATE pg_catalog."default",
- cidade character varying(80) COLLATE pg_catalog."default",
- estado character varying(2) COLLATE pg_catalog."default",
- telefone_fixo character varying(11) COLLATE pg_catalog."default",
- celular character varying(12) COLLATE pg_catalog."default",
- altura numeric(3,2),
- peso integer,
- tipo_sanguineo character varying(3) COLLATE pg_catalog."default",
- cor character varying(15) COLLATE pg_catalog."default",
- CONSTRAINT pessoas_pkey PRIMARY KEY (id)
- )
- TABLESPACE pg_default;
- ALTER TABLE IF EXISTS gerador.pessoas
- OWNER to postgres;
- -- Index: pessoas_estado
- -- DROP INDEX IF EXISTS gerador.pessoas_estado;
- CREATE INDEX IF NOT EXISTS pessoas_estado
- ON gerador.pessoas USING btree
- (estado COLLATE pg_catalog."default" ASC NULLS LAST)
- TABLESPACE pg_default;
- -- FUNCTION: gerador.fn_savepessoas()
- -- DROP FUNCTION IF EXISTS gerador.fn_savepessoas();
- CREATE OR REPLACE FUNCTION gerador.fn_savepessoas()
- RETURNS trigger
- LANGUAGE 'plpgsql'
- COST 100
- VOLATILE NOT LEAKPROOF SECURITY DEFINER
- SET search_path=gerador
- AS $BODY$
- BEGIN
- IF TG_OP = 'INSERT' THEN
- INSERT INTO pessoas(nome, idade, cpf, rg, data_nasc, sexo, signo, mae, pai, email, senha, cep, endereco, numero, bairro, cidade, estado, telefone_fixo, celular, altura, peso, tipo_sanguineo, cor)
- SELECT
- (c->>'nome')::VARCHAR(150) AS nome,
- (c->>'idade')::INTEGER AS idade,
- regexp_replace((c->>'cpf'), '\D', '', 'g')::VARCHAR(11) AS CPF,
- (c->>'rg')::VARCHAR(15) AS rg,
- (c->>'data_nasc')::DATE AS data_nasc,
- substring((c->>'sexo'), 1, 1)::VARCHAR(1) AS sexo,
- (c->>'signo')::VARCHAR(15) AS signo,
- (c->>'mae')::VARCHAR(150) AS mae,
- (c->>'pai')::VARCHAR(150) AS pai,
- (c->>'email')::VARCHAR(150) AS email,
- (c->>'senha')::VARCHAR(30) AS senha,
- regexp_replace((c->>'cep'), '\D', '', 'g')::VARCHAR(8) AS CEP,
- (c->>'endereco')::VARCHAR(200) AS endereco,
- (c->>'numero')::INTEGER AS numero,
- (c->>'bairro')::VARCHAR(120) AS bairro,
- (c->>'cidade')::VARCHAR(80) AS cidade,
- (c->>'estado')::VARCHAR(2) AS estado,
- regexp_replace((c->>'telefone_fixo'), '\D', '', 'g')::VARCHAR(11) AS telefone_fixo,
- regexp_replace((c->>'celular'), '\D', '', 'g')::VARCHAR(12) AS celular,
- REPLACE((c->>'altura'), ',', '.')::numeric(3,2) AS altura,
- (c->>'peso')::INTEGER AS peso,
- (c->>'tipo_sanguineo')::VARCHAR(3) AS tipo_sanguineo,
- (c->>'cor')::VARCHAR(15) AS cor
- FROM
- json_array_elements(NEW.content) c;
- END IF;
- RETURN NEW;
- END;
- $BODY$;
- ALTER FUNCTION gerador.fn_savepessoas()
- OWNER TO postgres;
- -- Trigger: insert_pessoas
- -- DROP TRIGGER IF EXISTS insert_pessoas ON gerador.pessoa;
- CREATE TRIGGER insert_pessoas
- AFTER INSERT
- ON gerador.pessoa
- FOR EACH ROW
- EXECUTE FUNCTION gerador.fn_savepessoas();
- --//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--
- ----//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//
- --//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement