Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sinister182

Idade a partir de data de nascimento

Recommended Posts

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 age(dt_nascimento)), 'São Paulo');

 

(select extract(year from age(dt_nascimento)) -> 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 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao precisa, alias se for seguir ao pe da letra nao deve, armazenar dados que pode abter atraves de outros campos

 

este muito pior ainda pois se colocar a idade agora em no maximo um ano terá uma irformacao errada gravada

 

a idade voce calcula quando precisar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele tem razão. Vamos supor que você cadastral alguem hj que nasceu em 18-10-1988, e o seu INSERT calcula a idade dele ( 20 ). Ok! Blw... ele acertou. Dai ele grava lá no banco. Quando for ano que vem, 2010, a idade do cara vai incrementar. Ou seja, ele terá 21 anos, só que no banco ( se você não fizer nenhum UPDATE CLARO ) vai sempre está 20. Logo, não é bom fazer isso. Já imaginou ter que ficar todo ano atualizando a idade do cara?

Compartilhar este post


Link para o post
Compartilhar em outros sites

alem de ser redundante

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer uma view da tabela que traria uma coluna a mais, que seria justamente a idade. Dessa forma, a sua lógica ainda é mantida no banco e faria o que você quer.

 

quando voce for precisar da idade faz direto no sql ou na prog...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.