[QGIS-pt] Copiar dados dentro de uma tabela

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho

Olá Ricardo,

Não sei se entendi bem a pergunta (que me parece ser de postgresql).

Actualizar na própria tabela é apenas uma questão de fazer um update ao elemento a actualizar com base no resultado da query que isole o elemento que tem os valores desejados. Mas para isso é preciso saber quais são os campos que pretendes ver actualizados e quais queres manter.

Alterações entre tabelas já é necessário perceber como foram criadas as duas tabelas e que tipo de constraints foram criadas entre elas.

Ou seja, tens de dar mais informação para perceber o que pretendes.

Cumprimentos,

Alexandre Neto

···

2015-02-11 14:44 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Olá Alexandre,

Sim trata-se de postgresql peço desculpa por não ter salientado isso. A ideia é mesmo a de atualizar algo que tenho realizado com o seguinte

UPDATE edu_escolasgrupo

SET ordem=‘73’

WHERE nome=‘Seixezelo’;

Mas aqui falamos de atualizar dados existentes agora o que eu pretendia era que os dados presentes em Seixezelo de 2014-2015 pudessem ser copiados para Seixezelo de 2013-2014 e como a aplicação geográfica não permite a realização dessa tarefa a única forma que vejo será a de realizar a mesma diretamente na tabela ou tabelas. Espero que tenha ajudado.

Enviada: 11 de fevereiro de 2015 15:04

···

Olá Ricardo,

Não sei se entendi bem a pergunta (que me parece ser de postgresql).

Actualizar na própria tabela é apenas uma questão de fazer um update ao elemento a actualizar com base no resultado da query que isole o elemento que tem os valores desejados. Mas para isso é preciso saber quais são os campos que pretendes ver actualizados e quais queres manter.

Alterações entre tabelas já é necessário perceber como foram criadas as duas tabelas e que tipo de constraints foram criadas entre elas.

Ou seja, tens de dar mais informação para perceber o que pretendes.

Cumprimentos,

Alexandre Neto

2015-02-11 14:44 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Talvez duplicando o row com o rec_id = “eaa7eecb-20c8-4ca2-b596-323923b47951” da tabela 2 que se refere a “Escola Básica de Vendas” que por seu lado pertence a Seixezelo 2014-2015 com o parente = “f3d41207-a200-41f7-bd3e-3602c676bd5e” da tabela 1 e colocando o parente = “038d1beb-dbc9-418b-8dae-78f548a84b11” agora como é que procedo á duplicação do row dos dados sendo criado um novo rec_id.

···

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho [Div. Sistemas de Informação]
Enviada: 11 de fevereiro de 2015 15:10
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: Re: [QGIS-pt] [!!Mass Mail]Re: Copiar dados dentro de uma tabela

Olá Alexandre,

Sim trata-se de postgresql peço desculpa por não ter salientado isso. A ideia é mesmo a de atualizar algo que tenho realizado com o seguinte

UPDATE edu_escolasgrupo

SET ordem=‘73’

WHERE nome=‘Seixezelo’;

Mas aqui falamos de atualizar dados existentes agora o que eu pretendia era que os dados presentes em Seixezelo de 2014-2015 pudessem ser copiados para Seixezelo de 2013-2014 e como a aplicação geográfica não permite a realização dessa tarefa a única forma que vejo será a de realizar a mesma diretamente na tabela ou tabelas. Espero que tenha ajudado.

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Alexandre Neto
Enviada: 11 de fevereiro de 2015 15:04
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: [!!Mass Mail]Re: [QGIS-pt] Copiar dados dentro de uma tabela

Olá Ricardo,

Não sei se entendi bem a pergunta (que me parece ser de postgresql).

Actualizar na própria tabela é apenas uma questão de fazer um update ao elemento a actualizar com base no resultado da query que isole o elemento que tem os valores desejados. Mas para isso é preciso saber quais são os campos que pretendes ver actualizados e quais queres manter.

Alterações entre tabelas já é necessário perceber como foram criadas as duas tabelas e que tipo de constraints foram criadas entre elas.

Ou seja, tens de dar mais informação para perceber o que pretendes.

Cumprimentos,

Alexandre Neto

2015-02-11 14:44 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

···

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho

Infelizmente não posso mexer na estrutura e o que quero apenas é duplicar com id’s distintos os dados de uma ou mais linhas.

Enviada: 11 de fevereiro de 2015 15:30

···

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho

Viva,

Se assim é basta usar: “INSERT INTO” em vez de “UPDATE”,
desde que os ID’s estejam “automáticos” (CREATE SEQUENCE)

Cumprimentos,
Ricardo Pinho

···

No dia 11 de fevereiro de 2015 às 15:33, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Infelizmente não posso mexer na estrutura e o que quero apenas é duplicar com id’s distintos os dados de uma ou mais linhas.

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho
Enviada: 11 de fevereiro de 2015 15:30
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: [!!Mass Mail]Re: [QGIS-pt] Copiar dados dentro de uma tabela

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho

Para “duplicar” os dados de uma mesma tabela apenas com alteração do id e da data do ano lectivo podes fazê-lo com a seguinte expressão

INSERT INTO tabela1 (col1,col2,col3, …, ano)
SELECT col1, col2, col3, … , ‘2014/2015’
FROM tabela1
WHERE id IN (id1_value, id2_value,…)

Alexandre Neto

···

2015-02-11 15:33 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Infelizmente não posso mexer na estrutura e o que quero apenas é duplicar com id’s distintos os dados de uma ou mais linhas.

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho
Enviada: 11 de fevereiro de 2015 15:30
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: [!!Mass Mail]Re: [QGIS-pt] Copiar dados dentro de uma tabela

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Aparece-me o erro da chave única que não pode ser nulo.

insert into edu_escolas (denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active)

select denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active

from edu_escolas

where rec_id = ‘eaa7eecb-20c8-4ca2-b596-323923b47951’

ERROR: null value in column “rec_id” violates not-null constraint

********** Error **********

ERROR: null value in column “rec_id” violates not-null constraint

SQL state: 23502

Enviada: 11 de fevereiro de 2015 15:40

···

Para “duplicar” os dados de uma mesma tabela apenas com alteração do id e da data do ano lectivo podes fazê-lo com a seguinte expressão

INSERT INTO tabela1 (col1,col2,col3, …, ano)

SELECT col1, col2, col3, … , ‘2014/2015’

FROM tabela1

WHERE id IN (id1_value, id2_value,…)

Alexandre Neto

2015-02-11 15:33 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Infelizmente não posso mexer na estrutura e o que quero apenas é duplicar com id’s distintos os dados de uma ou mais linhas.

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho
Enviada: 11 de fevereiro de 2015 15:30
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: [!!Mass Mail]Re: [QGIS-pt] Copiar dados dentro de uma tabela

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Executei a primeira parte do sql e não houve problemas

select denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active

from edu_escolas

where rec_id = ‘eaa7eecb-20c8-4ca2-b596-323923b47951’

“Escola Básica de Vendas”;“f3d41207-a200-41f7-bd3e-3602c676bd5e”;“0ded860a-24a5-44e5-b2c0-f94ba6d9d710”;“1ae08a6d-a718-40e2-9ffc-b2ebfb1051c5”;“Rua Dr. Ramiro Sá Coelho, 400”;“4415-932”;“Seixezelo”;“227457024”;“”;“eb1vendassxz@hotmail.com”;“”;“”;“”;“”;“”;293;" ";“00010101000000”;1

Ou seja consegue selecionar os dados que pretendo copiar, pelo menos uma parte está resolvida agora falta a inserção J

···

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho [Div. Sistemas de Informação]
Enviada: 11 de fevereiro de 2015 15:49
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: Re: [QGIS-pt] [!!Mass Mail]Re: Copiar dados dentro de uma tabela

Aparece-me o erro da chave única que não pode ser nulo.

insert into edu_escolas (denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active)

select denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active

from edu_escolas

where rec_id = ‘eaa7eecb-20c8-4ca2-b596-323923b47951’

ERROR: null value in column “rec_id” violates not-null constraint

********** Error **********

ERROR: null value in column “rec_id” violates not-null constraint

SQL state: 23502

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Alexandre Neto
Enviada: 11 de fevereiro de 2015 15:40
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: Re: [QGIS-pt] [!!Mass Mail]Re: Copiar dados dentro de uma tabela

Para “duplicar” os dados de uma mesma tabela apenas com alteração do id e da data do ano lectivo podes fazê-lo com a seguinte expressão

INSERT INTO tabela1 (col1,col2,col3, …, ano)

SELECT col1, col2, col3, … , ‘2014/2015’

FROM tabela1

WHERE id IN (id1_value, id2_value,…)

Alexandre Neto

2015-02-11 15:33 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Infelizmente não posso mexer na estrutura e o que quero apenas é duplicar com id’s distintos os dados de uma ou mais linhas.

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho
Enviada: 11 de fevereiro de 2015 15:30
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: [!!Mass Mail]Re: [QGIS-pt] Copiar dados dentro de uma tabela

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Não te consigo ajudar mais sem saber o código que criou a tabela.

Como o Ricardo Pinho disse, o id deveria ser uma sequência.

Alexandre Neto

···

2015-02-11 15:52 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Executei a primeira parte do sql e não houve problemas

select denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active

from edu_escolas

where rec_id = ‘eaa7eecb-20c8-4ca2-b596-323923b47951’

“Escola Básica de Vendas”;“f3d41207-a200-41f7-bd3e-3602c676bd5e”;“0ded860a-24a5-44e5-b2c0-f94ba6d9d710”;“1ae08a6d-a718-40e2-9ffc-b2ebfb1051c5”;“Rua Dr. Ramiro Sá Coelho, 400”;“4415-932”;“Seixezelo”;“227457024”;“”;“eb1vendassxz@hotmail.com”;“”;“”;“”;“”;“”;293;" ";“00010101000000”;1

Ou seja consegue selecionar os dados que pretendo copiar, pelo menos uma parte está resolvida agora falta a inserção J

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho [Div. Sistemas de Informação]
Enviada: 11 de fevereiro de 2015 15:49

Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: Re: [QGIS-pt] [!!Mass Mail]Re: Copiar dados dentro de uma tabela

Aparece-me o erro da chave única que não pode ser nulo.

insert into edu_escolas (denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active)

select denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active

from edu_escolas

where rec_id = ‘eaa7eecb-20c8-4ca2-b596-323923b47951’

ERROR: null value in column “rec_id” violates not-null constraint

********** Error **********

ERROR: null value in column “rec_id” violates not-null constraint

SQL state: 23502

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Alexandre Neto
Enviada: 11 de fevereiro de 2015 15:40
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: Re: [QGIS-pt] [!!Mass Mail]Re: Copiar dados dentro de uma tabela

Para “duplicar” os dados de uma mesma tabela apenas com alteração do id e da data do ano lectivo podes fazê-lo com a seguinte expressão

INSERT INTO tabela1 (col1,col2,col3, …, ano)

SELECT col1, col2, col3, … , ‘2014/2015’

FROM tabela1

WHERE id IN (id1_value, id2_value,…)

Alexandre Neto

2015-02-11 15:33 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Infelizmente não posso mexer na estrutura e o que quero apenas é duplicar com id’s distintos os dados de uma ou mais linhas.

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho
Enviada: 11 de fevereiro de 2015 15:30
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: [!!Mass Mail]Re: [QGIS-pt] Copiar dados dentro de uma tabela

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Sim deduzo que o problema esteja mesmo no ID vou averiguar.

Enviada: 11 de fevereiro de 2015 15:55

···

Não te consigo ajudar mais sem saber o código que criou a tabela.

Como o Ricardo Pinho disse, o id deveria ser uma sequência.

Alexandre Neto

2015-02-11 15:52 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Executei a primeira parte do sql e não houve problemas

select denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active

from edu_escolas

where rec_id = ‘eaa7eecb-20c8-4ca2-b596-323923b47951’

“Escola Básica de Vendas”;“f3d41207-a200-41f7-bd3e-3602c676bd5e”;“0ded860a-24a5-44e5-b2c0-f94ba6d9d710”;“1ae08a6d-a718-40e2-9ffc-b2ebfb1051c5”;“Rua Dr. Ramiro Sá Coelho, 400”;“4415-932”;“Seixezelo”;“227457024”;“”;“eb1vendassxz@hotmail.com”;“”;“”;“”;“”;“”;293;" ";“00010101000000”;1

Ou seja consegue selecionar os dados que pretendo copiar, pelo menos uma parte está resolvida agora falta a inserção J

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho [Div. Sistemas de Informação]
Enviada: 11 de fevereiro de 2015 15:49

Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: Re: [QGIS-pt] [!!Mass Mail]Re: Copiar dados dentro de uma tabela

Aparece-me o erro da chave única que não pode ser nulo.

insert into edu_escolas (denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active)

select denominacao, parent_id, tipoestabelecimento_id, agrupamento_id, morada, codpostal, localidade, telefone, fax, email, url, distrito, concelho, freguesia, observacoes, ext_id, user_id, date_time, active

from edu_escolas

where rec_id = ‘eaa7eecb-20c8-4ca2-b596-323923b47951’

ERROR: null value in column “rec_id” violates not-null constraint

********** Error **********

ERROR: null value in column “rec_id” violates not-null constraint

SQL state: 23502

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Alexandre Neto
Enviada: 11 de fevereiro de 2015 15:40
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: Re: [QGIS-pt] [!!Mass Mail]Re: Copiar dados dentro de uma tabela

Para “duplicar” os dados de uma mesma tabela apenas com alteração do id e da data do ano lectivo podes fazê-lo com a seguinte expressão

INSERT INTO tabela1 (col1,col2,col3, …, ano)

SELECT col1, col2, col3, … , ‘2014/2015’

FROM tabela1

WHERE id IN (id1_value, id2_value,…)

Alexandre Neto

2015-02-11 15:33 GMT+00:00 Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt>:

Infelizmente não posso mexer na estrutura e o que quero apenas é duplicar com id’s distintos os dados de uma ou mais linhas.

De: qgis-pt-bounces@lists.osgeo.org [mailto:qgis-pt-bounces@lists.osgeo.org] Em nome de Ricardo Pinho
Enviada: 11 de fevereiro de 2015 15:30
Para: QGIS PT - lista de utilizadores QGIS, em português.
Assunto: [!!Mass Mail]Re: [QGIS-pt] Copiar dados dentro de uma tabela

Bem vindo, caro homónimo!

Também não entendi muito bem a pergunta.

Se fosse eu, começava por explicar de forma objetiva a estrutura de dados que tem atualmente.

E depois descrevia o que pretendia.

Isso facilita imenso quem o quer ajudar e ajuda a ter uma resposta mais eficaz.

Pelo que entendi parece-me que pode resolver o problema apenas com redesenho da estrutura.

Fica aqui uma sugestão, que pode até ser desadequada:
Porque não acrescentar um campo com o “ano_letivo” e manter tudo na mesma tabela?

Espero ter ajudado.

Cumprimentos,

Ricardo Pinho

No dia 11 de fevereiro de 2015 às 14:44, Ricardo Pinho [Div. Sistemas de Informação] <ricardo.pinho@cm-gaia.pt> escreveu:

Bom dia,

Pretendia copiar os dados da entidade com o nome Seixezelo da tabela 1 que hierarquicamente pertence ao ano de 2014-2015 para a entidade com o mesmo nome mas que hierarquicamente pertence ao ano de 2013-2014, ambas as entidades estão presentes na tabela com rec_id’s diferentes e com parente diferentes, ao proceder a esta copia faço com que os dados presentes na tabela 2 respeitantes ao parente Seixezelo de 2014-2015, nomeadamente Escola Básica de Vendas, sejam replicados na entidade Seixezelo de 2013-2014. Agradecia a vossa ajuda que tem sido sempre muito útil.

Tabela 1: https://www.dropbox.com/s/nqb7t5fp6dasebo/Tabela1.jpg?dl=0

Tabela 2: https://www.dropbox.com/s/diqxcdnffc3p1rj/Tabela2.jpg?dl=0

Com os melhores cumprimentos,

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Ricardo Pinho


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Para simplificar a questão da chave única podes defini-la com valores default
a partir de uma sequência, ou como serial. Isto permite-te deixar a criação
do id único para o postgresql:

http://www.postgresql.org/docs/9.2/static/ddl-default.html

idunico integer DEFAULT nextval('tabela_idunico_seq')
ou
idunico SERIAL

E assim já o comando todo funcionava, porque o campo id é preenchido
automaticamente.

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Copiar-dados-dentro-de-uma-tabela-tp5186835p5186890.html
Sent from the QGIS-pt mailing list archive at Nabble.com.