Calculo de idade a partir de data de nascimento, feito de forma automática. Na hora da inserção

3 respostas
sinister182

Pessoal criei uma tabela chamada funcionario da seguinte forma:

CREATE TABLE empregado

(

nome_empregado character varying(30) NOT NULL,

sexo character(1),

cpf numeric,

rg integer,

dt_nascimento date,

idade integer,

cidade character varying(20),

CONSTRAINT empregado_pkey PRIMARY KEY (nome_empregado)

)

WITH (OIDS=FALSE);

ALTER TABLE empregado OWNER TO postgres;

porém eu preciso que no campo idade apareça a idade do empregado derivada do campo dt_nascimento…estou inserindo os dados da seguinte forma:

insert into empregado values (‘Ana’ , ‘F’ , 123476534928, 78442390, ‘1987-08-28’,(select extract (year from timestamp dt_nascimento.empregado)), ‘São Paulo’);

(select extract (year from timestamp dt_nascimento.empregado)) -> essa parte da inserção da idade a partir da data de nascimento tem que ser feita automática, digamos que o próprio sgbd na hora de inserir os dados tem que calcular a idade do empregado. Como eu poderia fazer isso pessoal ?

3 Respostas

leandronsp

Essa sua dúvida é em relação ao tratamento dos dados em Java? Ou SQL puro mesmo?

peczenyj

Se vc tem a data de nascimento, vc tem toda a informação para calcular a idade, certo? Se vc guardar a idade no banco vai atualizar como ? Afinal vc inseriu um cara de 28 anos hoje, ano que vem ele terá 29…

Outra coisa: vc precisa criar uma empregado_pkey ? não seria mais util chamar de empregado_id ?

E a cidade, não seria uma entidade separada, no caso vc guardaria a cidade_id de uma tabela de cidades? Afinal eu posso ter funcionarios de Porto alegre, Porto Alegre, Poa/RS, Portoalegre, etc.

são só observações :wink:

sinister182

Seria uma dúvida relativa ao sql puro mesmo, peczenyj suas observações e sugestões foram muito bem aceitas porém esse foi um exercício que a professora da faculdade passou o modelo e-r…^^

Criado 31 de março de 2009
Ultima resposta 31 de mar. de 2009
Respostas 3
Participantes 3