Página 1 de 2

Acertar Tombo Patrimonial por SQL

Enviado: 15 Nov 2019, 18:32
por carlosasolla
Boa noite amigos, gostaria de saber se alguém pode me ajudar a criar um script SQL que altere todos os tombos patrimoniais que tiverem espaço retirando estes espaços.

Tenho algum conhecimento de SQL em outro banco de dados, e consegui abrir o banco de dados pelo pgAdmin, mas não sei qual tabela e campo preciso alterar.

Desde já agradeço, e parabenizo pelo excelente trabalho!

Re: Acertar Tombo Patrimonial por SQL

Enviado: 19 Nov 2019, 16:06
por wlucas
Boa tarde Carlos.

Desculpe pela demora em responder.

Anexe o backup de sua base nessa mensagem que eu faço e te devolvo a base e o script com a modificação.


Atenciosamente. :ugeek:

Re: Acertar Tombo Patrimonial por SQL

Enviado: 19 Nov 2019, 17:20
por carlosasolla
Boa tarde Lucas,

Agradeço pela resposta, mas creio que não vai adiantar você acertar a minha base por aí. Trata-se da biblioteca de um centro espírita, e ainda não terminamos de catalogar todos os livros. Além disso toda quarta-feira que a biblioteca é aberta ao público eu preciso lançar as devoluções e os novos empréstimos. De qualquer forma, anexei a base para você poder verificar.

O que ocorreu foi que quando o pessoal que estava ajudando a cadastrar, acabaram cadastrando, conforme imagem em anexo, cerca de 150 livros com o formato "NE - 99999", quando o correto seria "NE.9999" e acho que por ter espaços, dá erro na tela de catalogação bibliográfica - pesquisa completa pelo campo tombo. Na tela do empréstimo não dá erro , mas fica fora de padrão dificultando a pesquisa do exemplar.

Abraço

Re: Acertar Tombo Patrimonial por SQL

Enviado: 24 Nov 2019, 22:12
por cleydyr
Olá, @carlosasolla. Tudo bem?

Como sempre, antes de fazer qualquer modificação diretamente no banco de dados, recomendo realizar um backup da sua biblioteca e guardá-lo em lugar seguro. Idealmente, você deve testar a restauração desse backup em uma outra máquina para garantir que a restauração (em caso de perda de dados), será feita corretamente.

Aviso dado, o seguinte SQL deve realizar essa tarefa.

Código: Selecionar todos

with q as (
	select id, replace(accession_number, 'NE - ', 'NE.') as new_accession_number
	from single.biblio_holdings)
update single.biblio_holdings
set accession_number = q.new_accession_number from q
where accession_number like '%NE - %' and q.id = biblio_holdings;
Isso não vai eliminar os espaços, mas sim substituir o prefixo "NE - " pelo prefixo "NE.", conforme você explicou no seu último comentário.

Talvez seja necessário reiniciar a máquina para que as mudanças tenham efeito.

Espero que ajude.

Re: Acertar Tombo Patrimonial por SQL

Enviado: 26 Nov 2019, 15:41
por wlucas
Boa tarde Carlosasolla.

Por favor, pode informar se teve sucesso em executar o script enviado pelo moderador Cleydyr ?

Atenciosamente: :ugeek:

Re: Acertar Tombo Patrimonial por SQL

Enviado: 26 Nov 2019, 16:00
por carlosasolla
Olá WLucas , boa tarde!

Peço desculpas, mas ainda não deu tempo de eu fazer o teste do script, acho que hoje a noite eu consigo, aí já posto o resultado em seguida.

Muito obrigado, Abraço!

Re: Acertar Tombo Patrimonial por SQL

Enviado: 26 Nov 2019, 19:31
por carlosasolla
Boa noite a todos!

O script deu certo sim, só tive que acrescentar o id no final:

Código: Selecionar todos

with q as (
	select id, replace(accession_number, 'NE - ', 'NE.') as new_accession_number
	from single.biblio_holdings)
update single.biblio_holdings
set accession_number = q.new_accession_number from q
where accession_number like 'NE - %' and q.id = biblio_holdings.id;
Muito obrigado a todos!

Re: Acertar Tombo Patrimonial por SQL

Enviado: 26 Nov 2019, 19:37
por cleydyr
Eita! :shock:

Foi um typo meu. :/ Acho que não selecionei tudo quando copiei do meu editor de código ou deletei algo sem querer aqui no fórum. :/

De qualquer forma, que bom que ajudou.

Abraço!

Re: Acertar Tombo Patrimonial por SQL

Enviado: 26 Nov 2019, 19:58
por carlosasolla
Cleydyr, boa noite,

Agradeço e peço desculpas por te dar trabalho novamente, porém após verificar melhor aqui, vi que no relatório de tombo, o código do tombo fica certo, porém ao editar o exemplar, o tombo continua aparecendo da forma como estava antes.

Apesar disso na pesquisa por tombo e na tela do empréstimo o BibLivre localiza normal pelo tombo. O fato de estar diferente na tela do exemplar pode causar algum problema?

Re: Acertar Tombo Patrimonial por SQL

Enviado: 26 Nov 2019, 20:11
por wlucas
Boa noite Carlos.

Depois roda essa query para saber se ficou algum tombo fora do padrao, pois encontrei 7 do total de 165 .

Query returned successfully: 158 rows affected, 75 ms execution time.



select id,accession_number from single.biblio_holdings where accession_number not like 'NE.%'



Atenciosamente. :ugeek: