Acertar Tombo Patrimonial por SQL

Forum para usuários do Biblivre 5
cleydyr
Administrador
Mensagens: 699
Registrado em: 19 Jul 2017, 19:43
Localização: Recife

Re: Acertar Tombo Patrimonial por SQL

Mensagem por cleydyr » 26 Nov 2019, 20:34

Os casos restantes são cobertos com a seguinte query:

Código: Selecionar todos

with q as (
	select id, regexp_replace(accession_number, 'NE\s*\-\s*', '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;
Github
Medium
biblivre.cloud: sua biblioteca online sempre estável, a partir de qualquer lugar

carlosasolla
Mensagens: 13
Registrado em: 04 Dez 2018, 20:28

Re: Acertar Tombo Patrimonial por SQL

Mensagem por carlosasolla » 26 Nov 2019, 20:55

Sim eu vi que alguns códigos estavam fora daquele padrão , mas como acertei manual.

Rodei o script que você mandou para verificar, conforme imagem em anexo, e não ficou mais nenhum fora do padrão agora, valeu pela ajuda nisso.

Imagem

Só me preocupou mesmo a tela do exemplar que ainda mostra o código da forma como estava antes de acertar, conforme mostra na segunda imagem (destaques em vermelho).

Imagem

Abraço!
Anexos
tela do exemplar.png
select verificação.png

cleydyr
Administrador
Mensagens: 699
Registrado em: 19 Jul 2017, 19:43
Localização: Recife

Re: Acertar Tombo Patrimonial por SQL

Mensagem por cleydyr » 26 Nov 2019, 20:57

Isso deve ser a parte do iso2709 na tabela de exemplares. Eu vou conferir aqui.
Github
Medium
biblivre.cloud: sua biblioteca online sempre estável, a partir de qualquer lugar

cleydyr
Administrador
Mensagens: 699
Registrado em: 19 Jul 2017, 19:43
Localização: Recife

Re: Acertar Tombo Patrimonial por SQL

Mensagem por cleydyr » 26 Nov 2019, 21:15

Foi o que eu pensei. Pode esta consulta para reparar o iso2709 também.

(Nunca é demais lembrar que um backup deve ser feito antes de modificar o banco de dados diretamente)

Código: Selecionar todos

with q as (
	select id, regexp_replace(iso2709, 'aNE\s*\-\s*', 'aNE.') as new_iso2709
	from single.biblio_holdings)
update single.biblio_holdings
set iso2709 = q.new_iso2709 from q
where q.id = biblio_holdings.id;
Abraço
Github
Medium
biblivre.cloud: sua biblioteca online sempre estável, a partir de qualquer lugar

carlosasolla
Mensagens: 13
Registrado em: 04 Dez 2018, 20:28

Re: Acertar Tombo Patrimonial por SQL

Mensagem por carlosasolla » 27 Nov 2019, 15:21

Boa tarde!

Cleydyr, como eu já alterei vários códigos de tombo patrimonial de forma manual, inclusive rodei outro update retirando os zeros à esquerda dos códigos que estavam com 5 dígitos, para manter no padrão, gostaria de confirmar se eu poderia acertar o campo iso2709 através do replace abaixo. Não
tenho certeza se está correto, mas rodei aqui em uma base de testes e não deu erro, mas depois ao entrar na tela do exemplar, aparece tudo em branco.

Código: Selecionar todos

with q as (
	select id, SUBSTR(iso2709,1,POSITION('aNE' in iso2709)) || accession_number as new_iso2709
	from single.biblio_holdings)
update single.biblio_holdings
set iso2709 = q.new_iso2709 from q
where (q.id = biblio_holdings.id) and (POSITION('a' || accession_number in iso2709) = 0);
Mais uma vez agradeço! Abraço!

cleydyr
Administrador
Mensagens: 699
Registrado em: 19 Jul 2017, 19:43
Localização: Recife

Re: Acertar Tombo Patrimonial por SQL

Mensagem por cleydyr » 01 Dez 2019, 15:13

Oi, @carlosasolla.

O que você quer dizer exatamente com "acertar o campo iso2709"? Como se trata de um programa (um script SQL é um programa), é necessário ser bem preciso no que se pretende para que o script faça o que é esperado.

Abraço
Github
Medium
biblivre.cloud: sua biblioteca online sempre estável, a partir de qualquer lugar

carlosasolla
Mensagens: 13
Registrado em: 04 Dez 2018, 20:28

Re: Acertar Tombo Patrimonial por SQL

Mensagem por carlosasolla » 03 Dez 2019, 17:55

Olá Cleydir, boa tarde!

Lembra que com a sua ajuda, eu rodei um script SQL para acertar alguns códigos de tombo patrimonial que estavam errados?

O que ocorreu depois disso é após rodar este script de acerto do Tombo, na pesquisa de livros o código do tombo aparecia corretamente, mas ao abrir a tela do exemplar, não refletia a alteração. Então vc sugeriu rodar o script, para fazer a correção:

viewtopic.php?f=83&t=36551&start=10#p44073

o que ocorre é que eu rodei outro script parecido para acertar também um zero a mais que tinha em alguns codigos de tompo mantendo todos os codigos com 4 digitos. Porém todos que foram acertados pelos scripts, na tela do exemplar não reflete a mudança.

Pelo que você passou o problema seria que o código do tombo teria que ser corrigido também no campo iso2709 na tabela de exemplares. Você até me passou um novo script para acertar este campo, mas aí seriam retirados os espaços, mas não os zeros a mais que retirei com o outro script.

Então montei este script cujo objetivo seria verificar todos os campos iso2709 , alterando os que em a parte referente ao codigo do tombo estivessem diferentes do campo accession_number. Porém após rodar ele ao acessar a tela do exemplar não aparecia nenhuma informação. Creio que este mesmo problema ocorre rodando o script que você postou, que faz no campo o iso2709 mesmo processo que fizemos no campo accession_number.

Agradeço, e peço desculpas pela confusão e pela demora em responder, e também caso não seja possível resolver por script SQL, não tem problema, vamos acertando manualmente com o tempo.

Abraço!

cleydyr
Administrador
Mensagens: 699
Registrado em: 19 Jul 2017, 19:43
Localização: Recife

Re: Acertar Tombo Patrimonial por SQL

Mensagem por cleydyr » 03 Dez 2019, 19:44

Sem problema, @carlosasolla.

Então, se eu tentar rodar o último script que eu sugeri na sua base, quando eu fizer uma busca, eu não vou ver a informação de tombo do exemplar. Está correto?

Vou ficar no aguardo da sua confirmação. Caso positivo, eu vou tentar fazer justamente isso e acrescentar alguma informação se necessário.

Abraço!
Github
Medium
biblivre.cloud: sua biblioteca online sempre estável, a partir de qualquer lugar

carlosasolla
Mensagens: 13
Registrado em: 04 Dez 2018, 20:28

Re: Acertar Tombo Patrimonial por SQL

Mensagem por carlosasolla » 03 Dez 2019, 20:30

Boa noite Cleydyr,

Então, tanto o seu script , quanto o meu, ambos alteram o campo iso2709. Após rodar qualquer destes scripts, ao entrar na tela do exemplar, os campos que eu havia informado nesta tela, que foram apenas a Localização, e o código do Tombo , aparecem em branco.

Veja este livro, por exemplo, na tela principal já está em ordem o codigo do tombo, como pode ver na bolinha (1):
Imagem

Aqui nesta base eu não rodei o script, você pode ver que o codigo do tombo está errado, por isso eu queria rodar o script para deixar este campo igual ao codigo que está na tela principal. Mas se eu rodar no tela do exemplar mostrada na imagem abaixo, os campos com a bolinha (1) e (2) aparecem em branco. Na tela principal do livro continua ok.
Imagem

Abraço!
Anexos
TELA PRINCIPAL DO LIVRO.png
TELA DO EXEMPLAR.png

cleydyr
Administrador
Mensagens: 699
Registrado em: 19 Jul 2017, 19:43
Localização: Recife

Re: Acertar Tombo Patrimonial por SQL

Mensagem por cleydyr » 22 Dez 2019, 13:46

Oi, Carlos!

Finalmente hoje eu retomei a análise desse problema e acabei descobrindo qual a causa raiz dele.

O iso2709 da tabela do exemplar traz codificado em si o tamanho do próprio iso2709. E o leitor do Marc espera que o iso2709 tenha exatamente esse tamanho. O exemplo que você mostrou com captura de telas foi bastante útil. O iso2709 dele tem tamanho 150. Quando transformamos o "NE - 02369" em "NE.02369", foram diminuídos dois caracteres (os dois espaços). Portanto, o tamanho deveria ser 148 e não mais 150. Isso acarreta problemas na leitura do iso2709.

(Tecnicamente, o Biblivre 5 não alerta que houve um erro nem a causa dele porque existe uma swallowed exception)

(BTW, @wlucas o código Biblivre 5 está cheio delas. :( )

Então, eu só imagino que vai ter que se refazer a consulta, substituindo também o tamanho do iso2709. Isso deve dar um pouco de trabalho.

Abraço e ótimo Natal!
Github
Medium
biblivre.cloud: sua biblioteca online sempre estável, a partir de qualquer lugar

Responder

Voltar para “Fórum Biblivre 5”