Fórum update sequencial #398691
04/04/2011
0
ola pessoal
tenho uma tabela com uns 100 registros, com pk codigo
criei um campo chamado "sequencia"
e preciso fazer um update em todos os registros no campo sequencia desta tabela conforme alguns valores ( order by data )
como resolver ?
obrigado
tenho uma tabela com uns 100 registros, com pk codigo
criei um campo chamado "sequencia"
e preciso fazer um update em todos os registros no campo sequencia desta tabela conforme alguns valores ( order by data )
como resolver ?
obrigado
Marcos Corso
Curtir tópico
+ 0
Responder
Posts
08/04/2011
Jair N.
Boa Tarde independente da quantidade de registros você pode criar uma seqüência temporária e fazer o update na tabela de atual a exemplo:
CREATE TEMPORARY SEQUENCE seq_recnum
INCREMENT 1
MINVALUE 1
NO MAXVALUE
START 1
CACHE 1;
ALTER SEQUENCE seq_recnum START 1;
UPDATE tabela
SET sequencia = sq_tabela1.sequencia
FROM (SELECT nextval('seq_recnum') AS sequencia
, sq_tabela2.*
FROM (SELECT *
FROM tabela
ORDER BY data
) sq_tabela2
) sq_tabela1
WHERE (sq_tabela1.codigo = tabela.codigo)
CREATE TEMPORARY SEQUENCE seq_recnum
INCREMENT 1
MINVALUE 1
NO MAXVALUE
START 1
CACHE 1;
ALTER SEQUENCE seq_recnum START 1;
UPDATE tabela
SET sequencia = sq_tabela1.sequencia
FROM (SELECT nextval('seq_recnum') AS sequencia
, sq_tabela2.*
FROM (SELECT *
FROM tabela
ORDER BY data
) sq_tabela2
) sq_tabela1
WHERE (sq_tabela1.codigo = tabela.codigo)
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)